siw36.ansible_hcloud_vm
ansible-hcloud-vm
Ta rola wdraża jedną lub więcej maszyn wirtualnych z dodatkowymi dyskami w chmurze Hetzner.
Co się dzieje:
- W Twoim koncie zostanie utworzony specyfikowany klucz publiczny SSH.
- Zostanie utworzona lista serwerów z dostępem do zdefiniowanego klucza SSH jako root (o ile używasz obrazów Hetzner).
- Dla każdego serwera zostanie utworzona lista wolumenów, a wolumeny zostaną przypisane do odpowiedniego serwera.
Bieżące problemy z modułem/API:
Kiedy usuniesz serwer, a następnie od razu usuniesz wolumeny, które były przypisane do tego serwera, API zgłasza, że te wolumeny są nadal przypisane do serwera i nie mogą być usunięte.
Dzieje się tak, gdy uruchomisz tę rolę i ustawisz stan serwera na absent
, a także ustawisz stan wolumenu, który był/przypisany do serwera, na absent
.
Pobierz tę rolę
ansible-galaxy install --roles-path ./roles/ siw36.ansible_hcloud_vm
Wymagania
- Moduł Pythona:
hcloud
(Ta rola zainstaluje go automatycznie w katalogu modułów Pythona użytkownika)
Zmienne roli
Nazwa | Opis | Wartość domyślna |
---|---|---|
getInfoOnly | Uzyskaj możliwe wartości dla typu serwera, obrazu i lokalizacji. Tylko informacje będą wyświetlane, gdy ta zmienna jest ustawiona na true. | false |
hcloudBearer | Twój klucz API Hetzner Cloud. Można go znaleźć w projekcie w zakładce kluczy SSH. | <brak - __wymagane__ do ustawienia> |
sshKey | Słownik zawierający informacje o kluczu SSH root | <brak - __wymagane__ do ustawienia> |
deployments | Lista wdrożeń i ich dysków | <brak - __wymagane__ do ustawienia> |
Zobacz poniższy przykład, aby uzyskać szczegóły dotyczące wskazywania zmiennych
Przykładowy 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)
Licencja
GNU General Public License w wersji 3.0
Informacje o autorze
Stworzone przez Robina 'siw36' Klussmanna (07/2019)
O projekcie
Role to deploy servers on Hetzner Cloud
Zainstaluj
ansible-galaxy install siw36.ansible_hcloud_vm
Licencja
gpl-3.0
Pobrania
166
Właściciel
Platform & DevOps Engineer