siw36.ansible_hcloud_vm

ansible-hcloud-vm

Rol de Ansible Puntuación de Calidad de Ansible Descargas de Rol de Ansible

Hetzner Cloud

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