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

O projekcie

This role installs and configure keepalived based on a simple dict

Zainstaluj
ansible-galaxy install evrardjp.keepalived
Licencja
apache-2.0
Pobrania
1.4M
Właściciel