Skip to content

Ansible - Hetzner Server erstellen

Verschoben Ansible
1 1 351
  • Da ich ja seit ein paar Tagen mit Ansible und Semaphore rumspiele, bin ich beim Suchen im Netz über hcloud von Hetzner gestolpert. Das wollte ich ja schon immer mal testen....

    Was brauchen wir?

    apt install python3-hcloud
    

    und einen SSH-Key, falls ihr noch keinen habt.

    Screenshot_20230810_172030_ergebnis.png

    Dann noch einen API Token

    API_ergebnis.png

    Ein Ansible Script, hier soll es mal hcloud-server.yml heißen.

    ---
    - name: Create Basic Server
      hosts: localhost
      connection: local
      gather_facts: False
      user: frank
      vars:
        hcloud_token: <HETZNER_TOKEN>
      tasks:
        - name: Create a basic server
          hcloud_server:
              api_token: "{{ hcloud_token }}"
              name: test-server
              server_type: cx11
              location: nbg1
              image: debian-12
              state: present
              ssh_keys: <NAME SSH KEY FROM WEBINTERFACE HETZNER> 
          register: server
    

    Und dann einmal das Script starten

    ansible-playbook -v hcloud-server.yml
    

    Kurze Zeit später ist der Server fertig. Zugriff bekommt man dann mittels seines SSH-Keys. Wenn man keinen SSH-Key angibt, erstellt Hetzner ein Root-PW was nach dem ersten Login geändert werden muss. Das Root-PW zeigt euch das Ansible-Script im Output an. Es sei Euch aber dringend empfohlen nur mit SSH-Keys zu arbeiten.

    Server.png

    Alles in allem finde ich das eine praktische Sache, mal eben einen Server zu erzeugen und zu starten. Danach noch mit Semaphore ein Playbook drüber laufen lassen, was mir die Ersteinrichtung des Servers abnimmt. Wie aktualisieren, Pakete installieren, die ich immer brauche usw.

    Mal sehen, ob ich das Tool auch noch in einigen Wochen benutze.

  • FrankMF FrankM verschob dieses Thema von Linux am
  • fail2ban auf einem systemd System (Debian 12)

    Linux linux fail2ban
    2
    0 Stimmen
    2 Beiträge
    266 Aufrufe
    FrankMF
    Auf Debian 13 Trixie fehlt noch folgendes apt install python3-setuptools
  • Podman - Secrets

    Podman podman linux
    1
    0 Stimmen
    1 Beiträge
    201 Aufrufe
    Niemand hat geantwortet
  • Nextcloud 28.0.0 - OpenAI Integration

    Nextcloud nextcloud linux openai
    2
    6
    0 Stimmen
    2 Beiträge
    962 Aufrufe
    FrankMF
    Noch eine Ergänzung. Wenn ihr jetzt viele User habt und das nur auf eine Gruppe beschränken wollt, könnt ihr das so machen. Unter Apps, Nextcloud Assistant suchen und die gewünschten Gruppen eintragen. Fertig [image: 1702725312285-197deae4-d72a-4729-bba7-bfa9b4bef334-grafik.png]
  • Open Source Software - Nur mit Luft & Liebe läuft es auch nicht rund

    Linux linux kde
    1
    0 Stimmen
    1 Beiträge
    167 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12.2 released

    Linux linux debian kde
    1
    0 Stimmen
    1 Beiträge
    161 Aufrufe
    Niemand hat geantwortet
  • PHP Webseite lokal einhängen mit sshfs

    PHP php linux
    1
    2
    0 Stimmen
    1 Beiträge
    98 Aufrufe
    Niemand hat geantwortet
  • Debian Installer Bookworm RC3 released

    Linux debian linux
    2
    0 Stimmen
    2 Beiträge
    181 Aufrufe
    FrankMF
    Und da sind wir schon bei RC4 https://lists.debian.org/debian-devel-announce/2023/05/msg00003.html
  • Kopia - HTTP/S Server

    Verschoben Kopia kopia linux
    3
    2
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    Ich hatte ein paar Probleme, die ich mir teilweise nicht erklären kann Ich möchte den Kopia Server gerne über systemd steuern. SystemD [Unit] Description=Kopia Server After=syslog.target After=network.target [Service] Type=simple User=kopia Group=kopia ExecStart=/usr/bin/kopia server --tls-cert-file /home/kopia-server/fullchain.pem --tls-key-file /home/kopia-server/privkey.pem --htpasswd-file /home/kopia-server/.htpasswd --address <IPv4>:51515 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target Danach systemctl daemon-reload systemctl start kopia-server Mit systemctl status kopia-server kann man sich den Status anzeigen lassen. Client Rechner Auf dem Client, der das Backup zum Server schicken soll, machen wir dann folgendes. USER@HOSTNAME:~$ kopia repo connect server --url=https://<DOMAIN>:51515 --override-username=USER --override-hostname=HOSTNAME Enter password to open repository: Connected to repository API Server. NOTICE: Kopia will check for updates on GitHub every 7 days, starting 24 hours after first use. To disable this behavior, set environment variable KOPIA_CHECK_FOR_UPDATES=false Alternatively you can remove the file "/home/frank/.config/kopia/repository.config.update-info.json". Danach steht die Verbindung und wir können Backups hochschieben. kopia snapshot create $HOME Damit wird das Homeverzeichnis gesichert. Das initiale Backup, hat 30 Minuten gebraucht. created snapshot with root kb9e50ff5xxxxxxxxxx265d40a5d0861 and ID cda5c0ffxxxxxxxxxxxxxxa4cb4a367b in 30m28s Ein späteres Backup, sieht so aus. USER@HOSTNAME:~$ kopia snapshot create $HOME Snapshotting USER@HOSTNAME:/home/frank ... * 0 hashing, 51 hashed (324.8 MB), 8524 cached (6.6 GB), 0 uploaded (0 B), 0 errors 100.0% Created snapshot with root kc20a4xxxxxxxxxxxx745c6c7b37c and ID d7a96eaxxxxxxxxxxx0961018eacffa in 3m12s Nach 3 Minuten durch. Zu diesem Zeitpunkt hat sich aber auch nicht wirklich was geändert! Fazit Das Tool macht immer noch einen sehr guten Eindruck. Die Geschwindigkeit ist sehr gut. Die Anleitung ist leider unzureichend. Da gibt es so viele Möglichkeiten, da braucht es sehr lange, bis man da mal durchsteigt. Zum Glück, ist das was man normalerweise braucht, recht überschaubar. Bis zum produktiven Einsatz braucht das aber bei mir noch eine Menge mehr Tests. Was ich noch testen möchte Verzeichnis mounten Backup testweise wieder herstellen (zumindestens teilweise) Der Test läuft mit Standard Einstellungen, also z.B. ohne Kompression. Das sollte man dann auch mal testen.. Bitte achtet auf gleiche Versionen auf dem Clienten, wie auf dem Server. Ich meine da ein paar Probleme festgestellt zu haben...