siw36.ansible_hcloud_vm

ansible-hcloud-vm

Ansible Role Ansible Quality Score Ansible Role Downloads

Hetzner Cloud

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