evrardjp.keepalived
Keepalived
Ten rol instaluję keepalived i konfiguruje go zgodnie z przekazanymi do roli zmiennymi.
Wymagania
Brak specjalnych wymagań. Tylko zarządzanie pakietami i plikami w roli.
Od wersji roli 4.0.0 wymagane są następujące minimalne wersje systemów operacyjnych:
- Ubuntu: 15.04 lub nowszy
- Debian: Jessie lub nowszy
- CentOS: 7 lub nowszy
Dla starszych wersji systemów należy użyć wcześniejszej wersji tej roli.
Zmienne roli
Domyślnie ta rola nie konfiguruje keepalived, tylko go instaluje. Dzięki temu keepalived jest w pełni elastyczny w zależności od dostarczonych danych wejściowych. Przykłady znajdują się w folderze vars. Nie próbuj ich od razu, bo nie będą działać! (Musisz zdefiniować VIP-y, hasła itp.). Przykłady są tylko źródłem inspiracji.
Główne zmienne to:
- keepalived_instances: Jest to obowiązkowy słownik. Zbiera informacje o VIP-ach, preferowanym stanie (master/backup), identyfikatorach VRRIP i priorytetach, hasle używanym do uwierzytelniania... Tutaj konfiguruje się opcje takie jak nopreempt. nopreempt pozwala pozostać w stanie backupowym (zamiast przejąć kontrolę nad skonfigurowanym master) po powrocie dostępności mastera po jego awarii. Sprawdź szablon, aby uzyskać dodatkowe opcje, oraz oryginalną dokumentację keepalived w celu ich konfiguracji.
- keepalived_sync_groups: Jest to opcjonalny słownik. Grupuje elementy zdefiniowane w keepalived_instances i (jeśli jest to pożądane) umożliwia konfigurację skryptów powiadomień dla grup keepalived_instances. Skrypty powiadomień uruchamiają się przy zmianie stanu keepalived i są opcjonalne.
- keepalived_virtual_servers: Jest to opcjonalny słownik. Ustawia wirtualny serwer + port i równoważy ruch nad serwerami rzeczywistymi podanymi w pod-słowniku. Sprawdź pliki _example.yaml w vars/, aby zobaczyć przykładowe użycie tego słownika. Oficjalna dokumentacja dla wirtualnych serwerów keepalived znajduje się tutaj.
- keepalived_scripts: Jest to opcjonalny słownik, w którym mogą znajdować się skrypty kontrolujące, które mogą uruchamiać skrypty powiadomień.
- keepalived_bind_on_non_local: Ta zmienna (domyślnie "False") określa, czy system, który hostuje keepalived, pozwoli aplikacjom na bindowanie na adresach nie-lokalnych. Jeśli ustawisz ją na true, aplikacje będą mogły się bindować (i uruchamiać) nawet jeśli nie mają VIP-a.
Sprawdź przykłady, aby lepiej zrozumieć, jak te słowniki powinny być skonfigurowane.
Możesz znaleźć przykładowy playbook w tym README oraz inne przykłady w tests/
, w tym przykłady konfiguracji zmiennych.
Inne edytowalne zmienne są wymienione w pliku defaults/main.yml. Przeczytaj tam wyjaśnienia, jeśli chcesz je nadpisać. Przykład skryptu powiadomień jest również podany w folderze files.
Innym dobrym źródłem informacji jest oficjalne repozytorium keepalived GIT, gdzie można znaleźć w pełni skomentowany keepalived.conf. Również różne oficjalne przykłady są dostępne.
Zależności
Brak zależności
Przykładowy Playbook
Zobacz w tests/keepalived-install-example.yml
Licencja
Apache2
Informacje o autorze
Jean-Philippe Evrard
This role installs and configure keepalived based on a simple dict
ansible-galaxy install evrardjp.keepalived