Tronde.ansible_role_rhel_patchmanagement
Zarządzanie Łatkami RHEL
Zarządzanie łatkami dla serwera Red Hat Enterprise Linux.
Przypadek użycia
W naszym środowisku wdrażamy serwery RHEL dla naszych działów, aby mogły uruchamiać swoje aplikacje.
Ta rola została napisana, aby zapewnić mechanizm instalacji Zaleceń Red Hat na docelowych węzłach raz w miesiącu. Administrator systemów może wybrać, które Zalecenia mają być zainstalowane, np. RHSA, RHBA i/lub RHEA.
W naszym specjalnym przypadku użycia instalowane są tylko RHSA, aby zapewnić minimalny poziom bezpieczeństwa. Instalacja jest wymuszana raz w miesiącu. Z tą intencją zalecone aktualizacje są podsumowywane w "Zestawach Łatek". W ten sposób zapewnione jest, że te same zalecenia są używane na wszystkich etapach cyklu łatania.
W Inwentaryzacji Ansible, węzły są grupowane w jednej z następujących grup, co definiuje, kiedy węzeł jest zaplanowany do instalacji łatki:
- [rhel-patch-phase1] - w drugi wtorek miesiąca
- [rhel-patch-phase2] - w trzeci wtorek miesiąca
- [rhel-patch-phase3] - w czwarty wtorek miesiąca
- [rhel-patch-phase4] - w czwartą środę miesiąca
W przypadku aktualizacji pakietów na docelowych węzłach, hosty będą po tym ponownie uruchamiane.
Ponieważ systemy produkcyjne są najważniejsze, są one podzielone na dwie oddzielne grupy (phase3 i phase4), aby zmniejszyć ryzyko awarii oraz przestojów usług z powodu instalacji zaleceń.
Oczywiście możesz wybierać, które hosty umieścić w której fazie oraz w jaki dzień chcesz przeprowadzić cykl łatania. Zachęcamy do dostosowania roli do swoich potrzeb.
Skrypt Bash jest używany do uruchomienia playbooka, który wykonuje Zarządzanie Łatkami w ustalonym terminie.
Po skonfigurowaniu roli, Zarządzanie Łatkami RHEL działa całkowicie automatycznie. Możesz korzystać z narzędzia do zgłaszania problemów, aby zadawać pytania dotyczące użytkowania roli lub samej roli oraz zgłaszać błędy, które możesz napotkać.
Jak uzyskać informacje o zaleceniach?
Aby uzyskać informacje o zaleceniach oraz stworzyć zestaw łatkowy w vars/main.yml
, musisz uruchomić skrypt create_vars.sh
.
Aby uzyskać więcej informacji na temat zaleceń, możesz subskrybować Powiadomienia o Zaleceniach Red Hat poprzez Portal Klienta lub użyć polecenia yum updateinfo list all
, aby uzyskać informacje o zaleceniach.
Zmienne Roli
Zmienne roli w vars/main.yml
są ustawiane automatycznie przez skrypt create_vars.sh, który jest uruchamiany przez cron.
Przykład Playbooka
Zamieszczenie przykładu jak użyć swojej roli (na przykład z przekazywaniem zmiennych jako parametrów) jest zawsze pomocne dla użytkowników:
hosts: all
tasks:
- name: Grupuj według systemu operacyjnego group_by: key=os_{{ ansible_distribution }} changed_when: False
hosts: os_RedHat roles:
- rhel_patchmanagement
Jak używać tej roli
Proszę pamiętać, że poniższy poradnik jest przeznaczony do współpracy z opisanym powyżej przypadkiem użycia. Może być konieczne dostosowanie niektórych elementów, jeśli masz inny przypadek użycia. Zakładam, że już sklonowałeś to repozytorium lub pobrałeś wszystkie potrzebne pliki. Następnie musisz wykonać następujące kroki, aby Zarządzanie Łatkami RHEL działało:
- Edytuj
run_rhel_patch_mgmt.sh
i wstaw prywatny klucz ssh, który jest używany do łączenia się z Twoimi węzłami. - Utwórz zadanie cron, które uruchamia
run_rhel_patch_mgmt.sh
w każdy wtorek i środę o wybranej godzinie. Skrypt uruchomi playbooka ansible w czasach wskazanych w powyższym przypadku użycia. Możesz dostosować to do swoich potrzeb. - Może być konieczne edytowanie
patch_rhel.yml
, aby dopasować zgodnie z Twoimi wymaganiami. Domyślnie ten playbook działa na wszystkich hostach w Twojej inwentaryzacji, które mają zainstalowany system operacyjny Red Hat i które są członkami odpowiadającej grupy rhel-patch-phaseX. - Zmień nazwę pliku variables.txt.example na variables.txt i edytuj plik odpowiednio, aby odpowiadał Twojemu środowisku.
- Edytuj
create_vars.sh
i ustaw źródło na absolutną ścieżkę do pliku variables.txt. - Zmień nazwę pliku variables.py.example na variables.py i edytuj plik aby określić absolutną ścieżkę do Twojego pliku inwentaryzacji ansible.
- Domyślnie
create_vars.sh
działa w pierwszy wtorek miesiąca, aby utworzyć nowy plikvars/main.yml
z bieżącym zestawem łatkowym oraz plikmail_text.txt
. - Możesz użyć funkcji
send_mail
, aby automatycznie wysłać powiadomienie na określony adres e-mail. Ta funkcja jest włączona domyślnie. - Opcjonalnie: Możesz wykorzystać zawartość
mail_text.txt
, aby powiadomić swoich użytkowników, które zalecenia będą instalowane.
Licencja
MIT
Informacje o autorze
- Autor: Joerg Kastning <joerg(dot)kastning(at)uni-bielefeld(dot)de>
ansible-galaxy install Tronde.ansible_role_rhel_patchmanagement