nl2go.hetzner_vswitch
Ansible Rolle: Hetzner vSwitch
Eine Ansible Rolle, die Hetzner Robot vSwitch verwaltet.
Voraussetzungen
- Ein bestehendes Hetzner Online GmbH Konto.
- Ein konfiguriertes Hetzner Robot Webservice Konto.
Anforderungen
Name | Typ | Version | Ort |
---|---|---|---|
ansible-filter | Python-Paket | 1.0.1 | Steuerknoten |
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
hetzner_vswitch_webservice_base_url: https://robot-ws.your-server.de
Basis-URL, die auf die Hetzner Robot API verweist. Diese Variable wird hauptsächlich für Testzwecke verwendet, es ist nicht nötig, den Standardwert zu ändern.
hetzner_vswitch_webservice_username: robot
Webservice-Benutzername. Kann wie im Abschnitt Zugangsdaten ändern (Hetzner Wiki) beschrieben gesetzt/geändert werden.
hetzner_vswitch_webservice_password: geheim
Webservice-Passwort. Kann wie im Abschnitt Zugangsdaten ändern (Hetzner Wiki) beschrieben gesetzt/geändert werden.
hetzner_vswitch_instances:
- name: Neuer vSwitch
vlan: 1234
Mehrere vSwitch-Instanzen können mit der Variable hetzner_vswitch_instances
verwaltet werden. Ein vSwitch wird durch das Attribut name
identifiziert. Der Name muss eindeutig sein, um Kollisionen/unerwartetes Verhalten zu vermeiden.
Das Attribut state
für einen vSwitch ist standardmäßig auf present
gesetzt.
hetzner_vswitch_instances:
- name: Neuer vSwitch
interface: vlan1
Der virtuelle Schnittstellenname für das vSwitch-basierte Netzwerk kann mit dem Schlüsselwort interface
angegeben werden. Bei eth0
als physischer Schnittstelle und 1234
als VLAN-ID wird standardmäßig eth0.1234
verwendet, falls nicht gesetzt.
hetzner_vswitch_instances:
- name: Neuer vSwitch
state: absent
Um sicherzustellen, dass der vSwitch entfernt wird, fügen Sie state: absent
hinzu. Das Attribut name
bleibt erforderlich, um den ursprünglichen Zustand zu identifizieren.
hetzner_vswitch_host:
- name: Neuer vSwitch
Jeder Host kann an einen oder mehrere vSwitches gebunden werden, die in hetzner_vswitch_instances
definiert sind, indem die Variable hetzner_vswitch_host
verwendet wird. vSwitches werden durch das Attribut name
referenziert.
Hosts ohne definierte hetzner_vswitch_host
-Variable werden von der Rolle ignoriert.
hetzner_vswitch_host:
- name: Neuer vSwitch
state: absent
Fügen Sie state: absent
hinzu, um einen Host von einem vSwitch zu trennen.
hetzner_vswitch_instances:
- name: Neuer vSwitch
vlan: 4001
ipv4_address: 192.168.100.0
ipv4_netmask: 255.255.255.0
hetzner_vswitch_host:
- name: Neuer vSwitch
ipv4_address: 192.168.100.1
Um die zugrunde liegende Netzwerkkonfiguration zu verwalten, müssen ipv4_address
und ipv4_netmask
in hetzner_vswitch_instances
vorhanden sein.
Eine spezielle Host-IP-Adresse muss als ipv4_address
in der Variable hetzner_vswitch_host
angegeben werden.
hetzner_vswitch_webservice_concurrent_requests: 1
hetzner_vswitch_webservice_concurrent_poll: 1
Um die Ausführung der Rolle zu beschleunigen, während die vSwitch-Konfiguration mit mehreren vSwitches behandelt wird, kann die Anzahl der parallelen Anfragen an die Hetzner Robot API mit der Variable hetzner_vswitch_webservice_concurrent_requests
gesteuert werden. Das Polling-Intervall für die Verarbeitung von asynchronen Anfragen wird mit hetzner_vswitch_webservice_concurrent_poll
festgelegt. Weitere Informationen finden Sie in der offiziellen Dokumentation zu Asynchronen Aktionen und Polling.
Tags
Tags können verwendet werden, um die Ausführung der Rolle auf eine bestimmte Aufgabenmodul zu beschränken. Die folgenden Tags sind verfügbar:
hetzner_vswitch
: Deckt den gesamten Lebenszyklus der Rolle ab.hetzner_vswitch_install
,install
: Installiert erforderliche Pakete.hetzner_vswitch_config
,config
: Konfiguriert verwandte Pakete und Ressourcen.hetzner_vswitch_vswitch
,config
: Verwaltet die vSwitch-Konfiguration mit der Hetzner Robot API.hetzner_vswitch_vswitch_server
,config
: Fügt Server zu/von einem vSwitch mit der Hetzner Robot API hinzu/entfernt.hetzner_vswitch_host
,config
: Konfiguriert Netzwerkeinstellungen auf den Zielhosts.hetzner_vswitch_handle
,handle
: Führt Handler bei Bedarf aus.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: alle
roles:
- nl2go.hetzner_vswitch
Entwicklung
Verwenden Sie docker-molecule und folgen Sie den Anweisungen, um Molecule auszuführen oder installieren Sie Molecule lokal (nicht empfohlen, es können Versionskonflikte auftreten).
Verwenden Sie Folgendes, um Tests auszuführen:
molecule test --all
Pflege
Lizenz
Siehe die LICENSE.md Datei für Details.
Autoreninformation
Diese Rolle wurde 2019 von Newsletter2Go GmbH erstellt.
Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.
ansible-galaxy install nl2go.hetzner_vswitch