nl2go.hetzner_vswitch
Rola Ansible: Hetzner vSwitch
To jest rola Ansible, która zarządza vSwitch w Hetzner Robot.
Wymagania wstępne
- Posiadanie istniejącego konta Hetzner Online GmbH.
- Skonfigurowane konto Hetzner Robot Webservice.
Wymagania
| Nazwa | Typ | Wersja | Lokalizacja |
|---|---|---|---|
| ansible-filter | Pakiet Python | 1.0.1 | Węzeł sterujący |
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z domyślnymi wartościami (patrz defaults/main.yml):
hetzner_vswitch_webservice_base_url: https://robot-ws.your-server.de
Podstawowy adres URL wskazujący na API Hetzner Robot. Ta zmienna jest głównie wykorzystywana w celach testowych, nie ma potrzeby zmiany domyślnej wartości.
hetzner_vswitch_webservice_username: robot
Nazwa użytkownika do logowania w usłudze webowej. Może być ustawiana/zmieniana zgodnie z opisem w sekcji Zmiana danych dostępu (Wiki Hetzner).
hetzner_vswitch_webservice_password: secret
Hasło do usługi webowej. Może być ustawiane/zmieniane zgodnie z opisem w sekcji Zmiana danych dostępu (Wiki Hetzner).
hetzner_vswitch_instances:
- name: Nowy vSwitch
vlan: 1234
Można zarządzać wieloma instancjami vSwitch za pomocą zmiennej hetzner_vswitch_instances. vSwitch jest identyfikowany przez atrybut name. Nazwa musi być unikalna, aby uniknąć kolizji/nieoczekiwanego zachowania. Atrybut state dla vSwitch domyślnie wynosi present.
hetzner_vswitch_instances:
- name: Nowy vSwitch
interface: vlan1
Nazwę wirtualnego interfejsu dla sieci opartej na vSwitch można określić używając słowa kluczowego interface. Jeśli nie jest ustawiona, domyślnie przyjmuje wartość eth0.1234, przy eth0 jako interfejs fizyczny i 1234 jako identyfikator VLAN.
hetzner_vswitch_instances:
- name: Nowy vSwitch
state: absent
Aby upewnić się, że vSwitch jest usunięty, dodaj state: absent. Atrybut name pozostaje obowiązkowy w celu identyfikacji stanu początkowego.
hetzner_vswitch_host:
- name: Nowy vSwitch
Każdy host może być przypisany do jednego lub wielu vSwitchy zdefiniowanych w hetzner_vswitch_instances za pomocą zmiennej hetzner_vswitch_host. vSwitchy odnosi się według atrybutu name.
Hosty z niewyjaśnioną zmienną hetzner_vswitch_host są ignorowane przez rolę.
hetzner_vswitch_host:
- name: Nowy vSwitch
state: absent
Dodaj state: absent, aby odłączyć hosta od vSwitch.
hetzner_vswitch_instances:
- name: Nowy vSwitch
vlan: 4001
ipv4_address: 192.168.100.0
ipv4_netmask: 255.255.255.0
hetzner_vswitch_host:
- name: Nowy vSwitch
ipv4_address: 192.168.100.1
Aby zarządzać podstawową konfiguracją sieci, na hetzner_vswitch_instances muszą być obecne ipv4_address i ipv4_netmask. Specjalny adres IP hosta musi być określony jako ipv4_address w zmiennej hetzner_vswitch_host.
hetzner_vswitch_webservice_concurrent_requests: 1
hetzner_vswitch_webservice_concurrent_poll: 1
Aby przyspieszyć wykonanie roli przy obsłudze konfiguracji vSwitch z wieloma vSwitchami, liczbę równoległych zapytań do API Hetzner Robot można kontrolować za pomocą zmiennej hetzner_vswitch_webservice_concurrent_requests. Interwał odpytywania dla przetwarzania wyników asynchronicznych zapytań jest ustawiany przy użyciu hetzner_vswitch_webservice_concurrent_poll. Zapoznaj się z oficjalną dokumentacją na temat Asynchronicznych działań i odpytywania w celu uzyskania szczegółowych informacji.
Tagowanie
Tagi mogą być używane do ograniczenia wykonywania roli do określonego modułu zadania. Dostępne tagi to:
hetzner_vswitch: Obejmuje cały cykl życia roli.hetzner_vswitch_install,install: Instaluje wymagane pakiety.hetzner_vswitch_config,config: Konfiguruje związane pakiety i zasoby.hetzner_vswitch_vswitch,config: Zarządza konfiguracją vSwitch za pomocą API Hetzner Robot.hetzner_vswitch_vswitch_server,config: Dodaje/usuwa serwery do/z vSwitch za pomocą API Hetzner Robot.hetzner_vswitch_host,config: Konfiguruje ustawienia sieciowe na docelowych hostach.hetzner_vswitch_handle,handle: Wykonuje operacje, gdy są konieczne.
Zależności
Brak.
Przykładowy plik Playbook
- hosts: all
roles:
- nl2go.hetzner_vswitch
Rozwój
Użyj docker-molecule zgodnie z instrukcją, aby uruchomić Molecule lub zainstaluj Molecule lokalnie (niezalecane, mogą wystąpić konflikty wersji).
Aby uruchomić testy, użyj:
molecule test --all
Utrzymujący
Licencja
Szczegóły znajdują się w pliku LICENSE.md.
Informacje o autorze
Ta rola została stworzona w 2019 roku przez Newsletter2Go GmbH.
Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.
ansible-galaxy install nl2go.hetzner_vswitch