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