nl2go.hetzner_vswitch

Travis (.org) branch Codecov Ansible Galaxy GitHub tag (latest by date) Ansible Galaxy Downloads

Rola Ansible: Hetzner vSwitch

To jest rola Ansible, która zarządza vSwitch w Hetzner Robot.

Wymagania wstępne

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.

O projekcie

Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.

Zainstaluj
ansible-galaxy install nl2go.hetzner_vswitch
Licencja
Unknown
Pobrania
11.2k
Właściciel