nl2go.hetzner_vswitch
Rôle Ansible : Hetzner vSwitch
Un rôle Ansible qui gère le vSwitch Hetzner Robot.
Prérequis
- Un compte Hetzner Online GmbH existant.
- Un compte de service web Hetzner Robot configuré.
Exigences
Nom | Type | Version | Emplacement |
---|---|---|---|
ansible-filter | Paquet Python | 1.0.1 | Noeud de contrôle |
Variables de rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
):
hetzner_vswitch_webservice_base_url: https://robot-ws.your-server.de
URL de base qui pointe vers l'API Hetzner Robot. La variable est principalement utilisée à des fins de test, il n'est pas nécessaire de changer la valeur par défaut.
hetzner_vswitch_webservice_username: robot
Nom d'utilisateur du service web. Peut être défini/modifié comme décrit dans la section Changer les données d'accès (Wiki Hetzner).
hetzner_vswitch_webservice_password: secret
Mot de passe du service web. Peut être défini/modifié comme décrit dans la section Changer les données d'accès (Wiki Hetzner).
hetzner_vswitch_instances:
- name: Nouveau vSwitch
vlan: 1234
Plusieurs instances de vSwitch peuvent être gérées avec la variable hetzner_vswitch_instances
. Un vSwitch est identifié par l'attribut name
. Le nom doit être unique pour éviter les collisions ou comportements inattendus. L'attribut state
pour un vSwitch est par défaut sur present
.
hetzner_vswitch_instances:
- name: Nouveau vSwitch
interface: vlan1
Le nom de l'interface virtuelle pour le réseau basé sur le vSwitch peut être spécifié en utilisant le mot clé interface
. Avec eth0
comme interface physique et 1234
comme ID VLAN, cela par défaut à eth0.1234
si non défini.
hetzner_vswitch_instances:
- name: Nouveau vSwitch
state: absent
Pour garantir que le vSwitch soit supprimé, ajoutez state: absent
. L'attribut name
reste obligatoire pour identifier l'état d'origine.
hetzner_vswitch_host:
- name: Nouveau vSwitch
Chaque hôte peut être lié à un ou plusieurs vSwitch définis dans hetzner_vswitch_instances
en utilisant la variable hetzner_vswitch_host
. Les vSwitch sont référencés par l'attribut name
.
Les hôtes sans variable hetzner_vswitch_host
définie sont ignorés par le rôle.
hetzner_vswitch_host:
- name: Nouveau vSwitch
state: absent
Ajoutez state: absent
pour détacher un hôte d'un vSwitch.
hetzner_vswitch_instances:
- name: Nouveau vSwitch
vlan: 4001
ipv4_address: 192.168.100.0
ipv4_netmask: 255.255.255.0
hetzner_vswitch_host:
- name: Nouveau vSwitch
ipv4_address: 192.168.100.1
Pour gérer la configuration réseau sous-jacente, ipv4_address
et ipv4_netmask
doivent être présents dans hetzner_vswitch_instances
.
Une adresse IP dédiée pour l'hôte doit être spécifiée comme ipv4_address
dans la variable hetzner_vswitch_host
.
hetzner_vswitch_webservice_concurrent_requests: 1
hetzner_vswitch_webservice_concurrent_poll: 1
Pour accélérer l'exécution du rôle lors de la gestion de la configuration du vSwitch avec plusieurs vSwitch, le nombre de requêtes parallèles envoyées à l'API Hetzner Robot peut être contrôlé par la variable hetzner_vswitch_webservice_concurrent_requests
. L'intervalle de sondage pour le traitement des résultats des requêtes asynchrones est réglé avec hetzner_vswitch_webservice_concurrent_poll
. Consultez la documentation officielle sur Actions asynchrones et sondage pour plus d'explications.
Étiquettes
Les étiquettes peuvent être utilisées pour limiter l'exécution du rôle à un module de tâche particulier. Les étiquettes suivantes sont disponibles :
hetzner_vswitch
: Couvre l'ensemble du cycle de vie du rôle.hetzner_vswitch_install
,install
: Installe les paquets requis.hetzner_vswitch_config
,config
: Configure les paquets et ressources associés.hetzner_vswitch_vswitch
,config
: Gère la configuration du vswitch en utilisant l'API Hetzner Robot.hetzner_vswitch_vswitch_server
,config
: Ajoute/supprime des serveurs d'un vswitch en utilisant l'API Hetzner Robot.hetzner_vswitch_host
,config
: Configure les paramètres réseau sur les hôtes cibles.hetzner_vswitch_handle
,handle
: Exécute les gestionnaires lorsque nécessaire.
Dépendances
Aucune.
Exemple de Playbook
- hosts: all
roles:
- nl2go.hetzner_vswitch
Développement
Utilisez docker-molecule en suivant les instructions pour exécuter Molecule ou installez Molecule localement (non recommandé, des conflits de version peuvent apparaître).
Utilisez ce qui suit pour exécuter des tests :
molecule test --all
Mainteneurs
Licence
Voir le fichier LICENSE.md pour plus de détails.
Informations sur l'auteur
Ce rôle a été créé en 2019 par Newsletter2Go GmbH.
Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.
ansible-galaxy install nl2go.hetzner_vswitch