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