nl2go.hetzner_vswitch
Rol de Ansible: Hetzner vSwitch
Una rol de Ansible que gestiona Hetzner Robot vSwitch.
Requisitos Previos
- Tener una cuenta de Hetzner Online GmbH.
- Tener configurada una cuenta de Hetzner Robot Webservice.
Requisitos
Nombre | Tipo | Versión | Ubicación |
---|---|---|---|
ansible-filter | Paquete Python | 1.0.1 | Nodo de control |
Variables de la Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
hetzner_vswitch_webservice_base_url: https://robot-ws.your-server.de
La URL base que apunta a la API de Hetzner Robot. Esta variable se utiliza principalmente para propósitos de prueba, no es necesario cambiar el valor predeterminado.
hetzner_vswitch_webservice_username: robot
Nombre de usuario para el servicio web. Se puede establecer/cambiar como se describe en la sección Cambiar datos de acceso (Wiki de Hetzner).
hetzner_vswitch_webservice_password: secret
Contraseña del servicio web. Se puede establecer/cambiar como se describe en la sección Cambiar datos de acceso (Wiki de Hetzner).
hetzner_vswitch_instances:
- name: Nuevo vSwitch
vlan: 1234
Se pueden gestionar múltiples instancias de vSwitch utilizando la variable hetzner_vswitch_instances
. Un vSwitch se identifica por el atributo name
. El nombre debe ser único para evitar colisiones y comportamientos inesperados. El atributo state
para un vSwitch por defecto es present
.
hetzner_vswitch_instances:
- name: Nuevo vSwitch
interface: vlan1
El nombre de la interfaz virtual para la red basada en vSwitch se puede especificar usando la palabra clave interface
. Con eth0
como interfaz física y 1234
como ID de VLAN, por defecto será eth0.1234
si no se establece.
hetzner_vswitch_instances:
- name: Nuevo vSwitch
state: absent
Para asegurar que el vSwitch sea eliminado, añade state: absent
. El atributo name
sigue siendo obligatorio para identificar el estado original.
hetzner_vswitch_host:
- name: Nuevo vSwitch
Cada host puede estar vinculado a uno o múltiples vSwitches definidos en hetzner_vswitch_instances
usando la variable hetzner_vswitch_host
. Los vSwitches se hacen referencia por el atributo name
.
Los hosts con la variable hetzner_vswitch_host
no definida son ignorados por la rol.
hetzner_vswitch_host:
- name: Nuevo vSwitch
state: absent
Añade state: absent
para desvincular un host de un vSwitch.
hetzner_vswitch_instances:
- name: Nuevo vSwitch
vlan: 4001
ipv4_address: 192.168.100.0
ipv4_netmask: 255.255.255.0
hetzner_vswitch_host:
- name: Nuevo vSwitch
ipv4_address: 192.168.100.1
Para gestionar la configuración de red subyacente, ipv4_address
y ipv4_netmask
deben estar presentes en hetzner_vswitch_instances
. Una dirección IP dedicada del host debe ser especificada como ipv4_address
dentro de la variable hetzner_vswitch_host
.
hetzner_vswitch_webservice_concurrent_requests: 1
hetzner_vswitch_webservice_concurrent_poll: 1
Para acelerar la ejecución de la rol mientras se maneja la configuración del vSwitch con múltiples vSwitches, el número de solicitudes paralelas hechas a la API de Hetzner Robot puede ser controlado por la variable hetzner_vswitch_webservice_concurrent_requests
. El intervalo de sondeo para el procesamiento de resultados de solicitudes asíncronas se establece usando hetzner_vswitch_webservice_concurrent_poll
. Consulta la documentación oficial sobre Acciones Asíncronas y Sondeo para más explicación.
Etiquetas
Las etiquetas pueden usarse para limitar la ejecución de la rol a un módulo de tarea particular. Las siguientes etiquetas están disponibles:
hetzner_vswitch
: Cubre todo el ciclo de vida de la rol.hetzner_vswitch_install
,install
: Instala paquetes requeridos.hetzner_vswitch_config
,config
: Configura paquetes y recursos relacionados.hetzner_vswitch_vswitch
,config
: Gestiona la configuración del vSwitch usando API de Hetzner Robot.hetzner_vswitch_vswitch_server
,config
: Agrega/elimina servidores a/de un vSwitch usando API de Hetzner Robot.hetzner_vswitch_host
,config
: Configura los ajustes de red en los hosts de destino.hetzner_vswitch_handle
,handle
: Ejecuta manejadores cuando es necesario.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: all
roles:
- nl2go.hetzner_vswitch
Desarrollo
Usa docker-molecule siguiendo las instrucciones para ejecutar Molecule o instala Molecule localmente (no recomendado, pueden aparecer conflictos de versiones).
Usa lo siguiente para ejecutar pruebas:
molecule test --all
Mantenedores
Licencia
Consulta el archivo LICENSE.md para más detalles.
Información del Autor
Esta rol fue creada en 2019 por Newsletter2Go GmbH.
Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.
ansible-galaxy install nl2go.hetzner_vswitch