Tronde.ansible_role_rhel_patchmanagement
Gestion des correctifs RHEL
Gestion des correctifs pour le serveur Red Hat Enterprise Linux.
Cas d'utilisation
Dans notre environnement, nous déployons des serveurs RHEL pour nos départements afin d'exécuter leurs applications.
Ce rôle a été écrit pour fournir un mécanisme permettant d'installer les avis de sécurité de Red Hat sur les nœuds cibles une fois par mois. L'administrateur système peut choisir quels avis doivent être installés, par exemple, RHSA, RHBA et/ou RHEA.
Dans notre cas d'utilisation particulier, seuls les RHSA sont installés pour garantir un minimum de sécurité. L'installation est effectuée une fois par mois. Les avis sont regroupés en "ensembles de correctifs". Cela garantit que les mêmes avis sont utilisés pour toutes les étapes lors d'un cycle de mise à jour.
Dans l'inventaire Ansible, les nœuds sont regroupés dans l'un des groupes suivants, qui définissent quand un nœud est programmé pour l'installation de correctifs :
- [rhel-patch-phase1] - le deuxième mardi du mois
- [rhel-patch-phase2] - le troisième mardi du mois
- [rhel-patch-phase3] - le quatrième mardi du mois
- [rhel-patch-phase4] - le quatrième mercredi du mois
Si des paquets ont été mis à jour sur les nœuds cibles, les hôtes redémarreront ensuite.
Étant donné que les systèmes de production sont les plus importants, ils sont divisés en deux groupes distincts (phase3 et phase4) pour réduire le risque de pannes et d'interruptions de service dues à l'installation des avis.
Bien sûr, vous pouvez choisir quels hôtes mettre dans quelle phase et le jour où vous souhaitez exécuter un cycle de mise à jour. N'hésitez pas à adapter le rôle à vos besoins.
Un script Bash est utilisé pour déclencher le playbook qui exécute la gestion des correctifs à la date prévue.
Une fois le rôle configuré, la gestion des correctifs RHEL fonctionne entièrement de manière automatisée. N'hésitez pas à utiliser le suivi des problèmes pour poser des questions sur l'utilisation du rôle ou sur le rôle lui-même et pour signaler les bugs que vous pourriez trouver.
Comment obtenir les informations sur les avis ?
Pour récupérer les informations sur les avis et créer un ensemble de correctifs dans vars/main.yml
, vous devez exécuter le script create_vars.sh
.
Pour plus d'informations sur les avis, vous pouvez vous abonner aux notifications d'avis de Red Hat sur le portail client ou utiliser la commande yum updateinfo list all
pour obtenir les informations sur les avis.
Variables du rôle
Les variables du rôle dans vars/main.yml
sont automatiquement définies par le script create_vars.sh qui est déclenché par cron.
Exemple de Playbook
Inclure un exemple de l'utilisation de votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours agréable pour les utilisateurs :
hosts: all
tasks:
- name: Regrouper par OS group_by: key=os_{{ ansible_distribution }} changed_when: False
hosts: os_RedHat roles:
- rhel_patchmanagement
Comment utiliser ce rôle
Veuillez noter que le guide suivant est considéré pour fonctionner avec le cas d'utilisation décrit ci-dessus. Vous devrez peut-être ajuster certaines choses si vous avez un cas d'utilisation différent. Je suppose que vous avez déjà cloné ce dépôt ou téléchargé tous les fichiers nécessaires. Après cela, vous devez suivre les étapes suivantes pour faire fonctionner la gestion des correctifs RHEL.
- Modifiez
run_rhel_patch_mgmt.sh
et insérez la clé privée SSH utilisée pour vous connecter à vos nœuds. - Créez un cronjob qui exécute
run_rhel_patch_mgmt.sh
tous les mardis et mercredis à une heure choisie. Le script déclenchera le playbook Ansible aux heures mentionnées dans le cas d'utilisation ci-dessus. Vous pouvez l'ajuster à vos besoins. - Vous devrez peut-être modifier
patch_rhel.yml
pour l'adapter à vos besoins. Par défaut, ce playbook s'exécute sur tous les hôtes de votre inventaire qui ont un système d'exploitation Red Hat installé et qui sont membres du groupe rhel-patch-phaseX correspondant. - Renommez variables.txt.example en variables.txt et modifiez le fichier en conséquence pour l’adapter à votre environnement.
- Modifiez
create_vars.sh
et définissez le chemin absolu pour le fichier variables.txt. - Renommez variables.py.example en variables.py et modifiez le fichier pour spécifier le chemin absolu vers votre fichier d'inventaire Ansible.
- Par défaut,
create_vars.sh
s'exécute le premier mardi du mois pour créer un nouveau fichiervars/main.yml
avec un ensemble de correctifs actuel et le fichiermail_text.txt
. - Vous pouvez utiliser la fonction
send_mail
pour envoyer automatiquement une notification à une adresse e-mail spécifiée. Cette fonction est activée par défaut. - Optionnel : Vous pouvez utiliser le contenu de
mail_text.txt
pour informer vos utilisateurs des avis qui vont être installés.
Licence
MIT
Informations sur l'auteur
- Original : Joerg Kastning <joerg(dot)kastning(at)uni-bielefeld(dot)de>
ansible-galaxy install Tronde.ansible_role_rhel_patchmanagement