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