Saltstack
  • Willkommen
  • Einführung
  • Testumgebung
    • Salt-Master öffentlicher FQDN
  • Salt installieren
    • Minions und Master "verheiraten"
  • Salt Module
    • Beispiel Benutzer anlegen
    • Dateien hin und her kopieren
  • Salt States
    • Yaml verstehen
    • Editoren anpassen
    • Beispiel Benutzer verwalten
    • Abhängigkeiten
    • Dateien editieren
    • Shell Kommandos
    • Beispiel Caddy Webserver
  • Linter
  • Minions adressieren
    • Grains
    • Hostgruppen - Node Groups
  • Jinja
    • Beispiel Caddy PHP
  • top.sls
  • Output
  • Pillars
    • Hosts Pillars
    • GPG
    • Vault
    • Datenbanken
    • Beispiel Benutzerverwaltung
  • Salt-Mine
  • Eigene Module erstellen
  • Orchestrierung
  • Returner & Job-Cache
  • Salt SSH
  • Salt API
  • Salt Cloud
    • Hinweise und Fallen
    • KVM und Libvirt
    • Scaleway
    • Digitalocean
    • Hetzner Cloud
    • eigene Deploymentscripte
    • Dynamische Portforwarding
    • Keys automatisch aufräumen
    • Start Aktionen
  • GIT
    • Alternative CD
  • Salt Reactor
  • Salt für Windows
    • Software ohne Repository installieren
    • PowerShell
    • Chocolatey Paktemanager
    • Lokales Logon Skript
    • Software Repository
  • Beispiele
    • Restic Backup
    • Apache Web-Proxy
    • Wartungstunnel
    • Unattended Upgrades
  • Salt & Etcd
  • Salt ACS
Powered by GitBook
On this page
  • Hcloud für Python installieren
  • SSH Schlüsselpaar erzeugen
  • Cloud-Account vorbereiten
  • Konfigurationsdateien anlegen
  • VM verwalten
  1. Salt Cloud

Hetzner Cloud

Verwalten Sie die Hetzner-Cloud mit Salt-Cloud

PreviousDigitaloceanNexteigene Deploymentscripte

Last updated 2 years ago

Hcloud für Python installieren

pip3 install hcloud

SSH Schlüsselpaar erzeugen

mkdir /etc/salt/cloud.keys.d 
ssh-keygen -N "" -t ed25519 -C "salt@hetzner" \
-f /etc/salt/cloud.keys.d/hetzner

Cloud-Account vorbereiten

Zuerst müssen Sie ein Projekt anlegen, innerhalb dessen die Cloud-VMs von Salt angelegt werden.

Wählen Sie das neu angelegte Projekt aus und klicken Sie auf der linken Seite die Sicherheitseinstellungen an (Schlüssel-Symbol). Fügen Sie dann den öffentlichen SSH Schlüssel aus der Datei /etc/salt/cloud.keys.d/hetzner.pub des Salt-Masters hinzu. Geben Sie dem Schlüssel einen Namen, z. B. salt. Auf diesen Namen werden Sie später refferenzieren.

Wählen Sie im Bereich »Sicherheit« oben den Reiter »API TOKENS« aus und generieren Sie einen neuen Token. Nennen Sie diesen z. B. »Salt-Master« und aktivieren Sie Lese- und Schreibrechte. Notieren Sie sich den erzeugten Token.

Konfigurationsdateien anlegen

Legen Sie einen Cloud-Provider an. Als key tragen Sie den zuvor generierten API Token ein.

/etc/salt/cloud.providers.d/hetzner.conf
hetzner:
  key: <API-TOKEN>
  driver: hetzner
  private_key: /etc/salt/cloud.keys.d/hetzner
  ssh_keys:
    - salt       # Must match the key name as set on the Hetzner Conosle
  location: nbg1 # use 'salt-cloud --list-location hetzner' 
  minion:
    master: <FQDN-OR-IP-OF-MASTER>
    master_port: <MASTER-PORT>    # omit to use default 4506
    publish_port: <PUBLISH-PORT>  # omit to use default 4505
    tcp_keepalive_idle: 60
    tcp_keepalive_cnt: 2
    tcp_keepalive_intvl: 60

Testen Sie Konfiguration mit den folgenden Kommandos:

salt-cloud --list-images hetzner
salt-cloud --list-sizes hetzner
salt-cloud -f list_ssh_keys hetzner

Legen Sie anschließend Profile für die gewünschten VMs an. Beispiel:

ubuntu-s@hetzner:
  provider: hetzner
  image: ubuntu-22.04
  size: cx11

VM verwalten

Legen Sie nun eine neue VM an

salt-cloud -p ubuntu-s@hetzner uriel -l debug
salt uriel test.ping

VM können mit salt-cloud -d <MINION-ID> wieder gelöscht werden.

Projekt anlegen
SSH Key
API Token