siw36.ansible_hcloud_vm
ansible-hcloud-vm
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
Lizenz
gpl-3.0
Downloads
166
Besitzer
Platform & DevOps Engineer