6.6. Exécution de tâches avancées de l'opérateur d'intégrité des fichiers personnalisés
6.6.1. Réinitialisation de la base de données
Si l'opérateur d'intégrité des fichiers détecte une modification planifiée, il peut être amené à réinitialiser la base de données.
Procédure
Annoter la ressource personnalisée (CR)
FileIntegrity
avecfile-integrity.openshift.io/re-init
:$ oc annotate fileintegrities/worker-fileintegrity file-integrity.openshift.io/re-init=
L'ancienne base de données et les fichiers journaux sont sauvegardés et une nouvelle base de données est initialisée. L'ancienne base de données et les journaux sont conservés sur les nœuds sous
/etc/kubernetes
, comme le montre la sortie suivante d'un pod créé à l'aide deoc debug
:Exemple de sortie
ls -lR /host/etc/kubernetes/aide.* -rw-------. 1 root root 1839782 Sep 17 15:08 /host/etc/kubernetes/aide.db.gz -rw-------. 1 root root 1839783 Sep 17 14:30 /host/etc/kubernetes/aide.db.gz.backup-20200917T15_07_38 -rw-------. 1 root root 73728 Sep 17 15:07 /host/etc/kubernetes/aide.db.gz.backup-20200917T15_07_55 -rw-r--r--. 1 root root 0 Sep 17 15:08 /host/etc/kubernetes/aide.log -rw-------. 1 root root 613 Sep 17 15:07 /host/etc/kubernetes/aide.log.backup-20200917T15_07_38 -rw-r--r--. 1 root root 0 Sep 17 15:07 /host/etc/kubernetes/aide.log.backup-20200917T15_07_55
Pour assurer une certaine permanence des enregistrements, les cartes de configuration résultantes n'appartiennent pas à l'objet
FileIntegrity
, de sorte qu'un nettoyage manuel est nécessaire. Par conséquent, tout défaut d'intégrité antérieur serait toujours visible dans l'objetFileIntegrityNodeStatus
.
6.6.2. Intégration de la configuration de la machine
Dans OpenShift Container Platform 4, la configuration des nœuds de cluster est fournie par le biais d'objets MachineConfig
. Vous pouvez supposer que les modifications apportées aux fichiers par un objet MachineConfig
sont attendues et ne devraient pas entraîner l'échec de l'analyse de l'intégrité des fichiers. Pour supprimer les modifications apportées aux fichiers par les mises à jour de l'objet MachineConfig
, l'opérateur d'intégrité des fichiers surveille les objets de nœuds ; lorsqu'un nœud est en cours de mise à jour, les analyses AIDE sont suspendues pendant la durée de la mise à jour. Lorsque la mise à jour est terminée, la base de données est réinitialisée et les analyses reprennent.
Cette logique de pause et de reprise ne s'applique qu'aux mises à jour effectuées par l'intermédiaire de l'API MachineConfig
, car elles sont reflétées dans les annotations de l'objet nœud.
6.6.3. Exploration des ensembles de démons
Chaque objet FileIntegrity
représente une analyse sur un certain nombre de nœuds. L'analyse elle-même est effectuée par des pods gérés par un ensemble de démons.
Pour trouver l'ensemble de démons qui représente un objet FileIntegrity
, exécutez la commande suivante :
$ oc -n openshift-file-integrity get ds/aide-worker-fileintegrity
Pour lister les pods de cet ensemble de démons, exécutez :
$ oc -n openshift-file-integrity get pods -lapp=aide-worker-fileintegrity
Pour consulter les journaux d'un seul pod AIDE, appelez oc logs
sur l'un des pods.
$ oc -n openshift-file-integrity logs pod/aide-worker-fileintegrity-mr8x6
Exemple de sortie
Starting the AIDE runner daemon initializing AIDE db initialization finished running aide check ...
Les cartes de configuration créées par le démon AIDE ne sont pas conservées et sont supprimées après leur traitement par l'opérateur d'intégrité des fichiers. Toutefois, en cas d'échec ou d'erreur, le contenu de ces cartes de configuration est copié dans la carte de configuration vers laquelle pointe l'objet FileIntegrityNodeStatus
.