siw36.ansible_hcloud_vm
ansible-hcloud-vm
Este rol despliega una o más máquinas virtuales con discos adicionales en la nube de Hetzner.
Lo que sucede:
- La clave pública SSH especificada se creará en tu cuenta.
- Se creará la lista de servidores con acceso para la clave SSH especificada como root (si usas las imágenes de Hetzner).
- Se creará la lista de volúmenes para cada servidor y los volúmenes se adjuntarán al servidor correspondiente.
Problemas actuales del módulo/API:
Cuando eliminas un servidor y justo después eliminas los volúmenes que estaban adjuntos al servidor, la API informa que esos volúmenes aún están adjuntos a un servidor y no se pueden eliminar.
Esto sucede cuando ejecutas este rol y estableces el estado de un servidor en ausente
y también estableces el estado del volumen que estaba/está adjunto al servidor en ausente
.
Obtén este rol
ansible-galaxy install --roles-path ./roles/ siw36.ansible_hcloud_vm
Requisitos
- Módulo de Python:
hcloud
(Este rol lo instalará automáticamente en el directorio del módulo de python del usuario)
Variables del Rol
Nombre | Descripción | Valor por defecto |
---|---|---|
getInfoOnly | Obtener los valores posibles para el tipo de servidor, imagen y ubicación. Solo se imprimirá la información cuando esta variable se establezca en true. | falso |
hcloudBearer | Tu clave API de Hetzner Cloud. Se puede encontrar en tu proyecto en la pestaña de clave SSH. | <ninguno - __requerido__> |
sshKey | Diccionario que contiene información sobre la clave SSH root | <ninguno - __requerido__> |
deployments | Lista de implementaciones y sus discos | <ninguno - __requerido__> |
Ve el ejemplo a continuación para más detalles sobre cómo especificar las variables
Ejemplo de Playbook
playbook.yml:
- hosts: localhost
become: false
gather_facts: false
roles:
- siw36.ansible_hcloud_vm
roles/siw36.ansible_hcloud_vm/vars/main.yml
#getInfoOnly: false
hcloudBearer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sshKey:
name: root
value: ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx root
state: present
deployments:
- name: test0.nodes.replicas.io
state: absent # (present|started|stopped|restarted|absent|rebuild)
size: cx11
location: hel1
image: centos-7
backup: false
sshKeys:
- siw
labels:
project: replicas.io
stage: prod
location: helsinki
volumes:
- name: test0.nodes.replicas.io-data0
state: absent # (present|absent)
size: 10
automount: true
format: xfs # (xfs|ext4)
Licencia
Licencia Pública General GNU v3.0
Información del Autor
Creado por Robin 'siw36' Klussmann (07/2019)
Acerca del proyecto
Role to deploy servers on Hetzner Cloud
Instalar
ansible-galaxy install siw36.ansible_hcloud_vm
Licencia
gpl-3.0
Descargas
166
Propietario
Platform & DevOps Engineer