siw36.ansible_hcloud_vm

ansible-hcloud-vm

Rôle Ansible Score de Qualité Ansible Téléchargements de Rôle Ansible

Hetzner Cloud

Ce rôle déploie une ou plusieurs machines virtuelles avec des disques supplémentaires dans le cloud Hetzner.

Ce qui se passe :

  • La clé SSH publique spécifiée sera créée dans votre compte.
  • La liste des serveurs sera créée avec un accès pour la clé SSH spécifiée en tant que root (tant que vous utilisez les images Hetzner).
  • La liste des volumes pour chaque serveur sera créée et les volumes seront attachés au serveur correspondant.

Problèmes actuels du module/API :

Lorsque vous supprimez un serveur puis immédiatement après, les volumes attachés à ce serveur, l'API signale que ces volumes sont encore attachés à un serveur et ne peuvent pas être supprimés.
Cela se produit lorsque vous exécutez ce rôle et que vous définissez l'état d'un serveur sur absent et que vous définissez également l'état du volume qui était/est attaché au serveur sur absent.

Obtenez ce rôle

ansible-galaxy install --roles-path ./roles/ siw36.ansible_hcloud_vm

Exigences

  • Module Python : hcloud (Ce rôle l'installera automatiquement dans le répertoire de modules Python de l'utilisateur)

Variables du Rôle

Nom Description Valeur par défaut
getInfoOnly Obtenir les valeurs possibles pour le type de serveur, l'image et l'emplacement. Seules les informations seront imprimées lorsque cette variable est définie sur vrai. faux
hcloudBearer Votre clé API Hetzner Cloud. Peut être trouvée dans votre projet dans l'onglet de clé SSH. <aucun - __doit être défini__>
sshKey Dictionnaire contenant les informations sur la clé SSH root <aucun - __doit être défini__>
deployments Liste des déploiements et de leurs disques <aucun - __doit être défini__>

Voir l'exemple ci-dessous pour les détails sur la manière de spécifier les variables

Exemple 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)

Licence

Licence Publique Générale GNU v3.0

Informations sur l'Auteur

Créé par Robin 'siw36' Klussmann (07/2019)

À propos du projet

Role to deploy servers on Hetzner Cloud

Installer
ansible-galaxy install siw36.ansible_hcloud_vm
Licence
gpl-3.0
Téléchargements
166
Propriétaire
Platform & DevOps Engineer