siw36.ansible_hcloud_vm

ansible-hcloud-vm

Ansible Rolle Ansible Qualitätsbewertung Ansible Rollen Downloads

Hetzner Cloud

Diese Rolle erstellt eine oder mehrere virtuelle Maschinen mit zusätzlichen Festplatten in der Hetzner Cloud.

Was passiert:

  • Der angegebene SSH-Öffentlichen Schlüssel wird in deinem Konto erstellt.
  • Die Liste der Server wird erstellt, mit Zugriff für den angegebenen SSH-Schlüssel als Root (solange du die Hetzner-Images verwendest).
  • Die Liste der Volumes für jeden Server wird erstellt und die Volumes werden dem entsprechenden Server zugeordnet.

Aktuelle Probleme mit Modul/API:

Wenn du einen Server löschst und sofort danach die an den Server angehängten Volumes löschst, meldet die API, dass diese Volumes noch an einem Server angehängt sind und nicht gelöscht werden können.
Das passiert, wenn du diese Rolle ausführst und den Zustand eines Servers auf absent und auch den Zustand des Volumes, das am Server angehängt ist, auf absent setzt.

Diese Rolle holen

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

Anforderungen

  • Python-Modul: hcloud (Diese Rolle wird es automatisch im Python-Modulverzeichnis des Benutzers installieren)

Rollenvariablen

Name Beschreibung Standardwert
getInfoOnly Mögliche Werte für Servertyp, Image und Standort abrufen. Nur die Informationen werden ausgegeben, wenn diese Variable auf true gesetzt ist. false
hcloudBearer Dein Hetzner Cloud API-Schlüssel. Kann in deinem Projekt im SSH-Schlüssel-Tab gefunden werden. <keiner - __muss__ gesetzt werden>
sshKey Dictionary mit Informationen über den Root SSH-Schlüssel <keiner - __muss__ gesetzt werden>
deployments Liste der Bereitstellungen und ihrer Festplatten <keiner - __muss__ gesetzt werden>

Siehe das Beispiel unten für Details zur Angabe der Variablen

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

Lizenz

GNU General Public License v3.0

Autoreninformation

Erstellt von Robin 'siw36' Klussmann (07/2019)

Über das Projekt

Role to deploy servers on Hetzner Cloud

Installieren
ansible-galaxy install siw36.ansible_hcloud_vm
GitHub Repository
Lizenz
gpl-3.0
Downloads
166
Besitzer
Platform & DevOps Engineer