Ansible

Hellraiser123

Benutzer
Mitglied seit
31. Jul 2024
Beiträge
452
Punkte für Reaktionen
230
Punkte
99
Hallo zusammen,

da hier ja doch ein paar Leute nicht nur eine DS nutzen sondern auch Proxmox würde mich mal interessieren, ob es auch Leute gibt die Ansible einsetzen. Wenn ja, was für Playbooks nutzt ihr so? Ich habe seit einiger Zeit Ansible für mich entdeckt und durch SemaphoreUI hat man eine super UI dafür. Ich nutze es als Steuerung für fast alle Crons. So habe ich nur eine Stelle wo ich was konfigurieren muss. Zum Beispiel mache ich meine PostgreSQL Backups darüber. Wenn eine neue DB dazu kommt, dann muss ich nur eine Variable anpassen....
Auch wenn ich eine neue VM installiere, dann habe ich paar Playbooks die ich nur starten muss und meine VM ist eingerichtet. Das will ich noch weiter automatisieren, so dass auch die VM darüber erstellt wird. Die ganzen Updates und aufräumen auf den Servern passiert auch darüber. Wenn Interesse besteht und noch jemand Ansible nutzt, dann könnte man ja auch mal die Playbooks posten.
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
12.587
Punkte für Reaktionen
5.165
Punkte
504
Sehr interessantes Thema, ich lese hier mal mit :cool:
 

Hellraiser123

Benutzer
Mitglied seit
31. Jul 2024
Beiträge
452
Punkte für Reaktionen
230
Punkte
99
Ich weiß nicht, ob es hier viel geben wird. Scheint ja nicht wirklich benutzt zu werden bzw. auch kein wirkliches Interesse für zu geben. Ist vielleicht auch das falsche Forum. Das lohnt sich halt eher wenn man mehrere und häufiger VMs erstellt
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.383
Punkte für Reaktionen
1.018
Punkte
194
Also ich bekunde Interesse, auch wenn ich Ansible (noch) nicht nutze. Hatte mir das aber mal zur näheren Betrachtung ins Auge gefasst... Aktuell kämpfe ich noch mit einer frischen Proxmox-Installation (hat keine Netzwerkverbindung).
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.067
Punkte für Reaktionen
2.256
Punkte
259
Ich habe für mich noch nicht wirklich einen Verwendungszweck für Ansible gefunden. :) Auch wenn ich YAML ja bereits seit Jahren von Home Assistant kenne und es somit für mich nicht wirklich ein Problem darstellt, ist mir der Aufwand auch noch irgendwelche Playbooks für irgendetwas zu erstellen irgendwie "zu groß". Was aber auch daran liegt das ich hier ja nur eine eher einfache Proxmox Install. am laufen habe mit ein paar VM. Die Aufgaben die da anfallen wie z.B. Proxmox Updates und VM sichern oder mal clonen, mache zu "zu Fuß". Gleiches gilt für die Installation von neuen VM. Das ist "zu Fuß" ja eigentlich auch nur eine Sache von ein paar Minuten.

Auch hätte/habe ich bei irgendwelchen zusätzlichen Tools, die automatisiert irgendwelche Aufgaben direkt auf und/oder mit dem Host durchführen, immer ein "flaues Gefühl im Magen" ob - in dem Fall - die Playbooks dann auch das tun was sie sollen, oder ob es - z.B. nach irgendwelchen Updates - ggf. irgendwelche Probleme gibt oder geben könnte. D.h. ich müsste mich auch noch um Ansible und die Playbooks zusätzliche kümmern.

Wie gesagt bei größeren/umfangreicheren Proxmox Installationen können solche Tools sicherlich hilfreich sein und Zeit sparen, aber bei mir hier sehe ich das irgendwie nicht.
aufräumen auf den Servern passiert auch darüber.
Was ist damit genau gemeint?

@Ulfhednir Was für ein Netzwerkproblem denn? Sofern es nicht um eine eher exotischere LAN-Umgebung geht kann man da doch nicht wirklich viel falsch machen.

VG Jim
 

Hellraiser123

Benutzer
Mitglied seit
31. Jul 2024
Beiträge
452
Punkte für Reaktionen
230
Punkte
99
Was ist damit genau gemeint?
Ich mache jede Nacht Updates und auch direkt hinterher ein apt autoremove. Und unbenutzer Docker Images werden auch jede Nacht gelöscht.
für irgendetwas zu erstellen irgendwie "zu groß"
Eigentlich dauert das nicht lange. Ich schreibe mir inzwischen für alles was ich öfter machen muss vorher ein Playbook. Wollte letztens Atuin einrichten. Da habe ich mir ein Playbook geschrieben und es direkt auf allen VMs direkt eingerichtet.
Auch hätte/habe ich bei irgendwelchen zusätzlichen Tools, die automatisiert irgendwelche Aufgaben direkt auf und/oder mit dem Host durchführen, immer ein "flaues Gefühl im Magen" ob - in dem Fall - die Playbooks dann auch das tun was sie sollen, oder ob es - z.B. nach irgendwelchen Updates - ggf. irgendwelche Probleme gibt oder geben könnte. D.h. ich müsste mich auch noch um Ansible und die Playbooks zusätzliche kümmern.
Die Playbooks wirst du ja am Anfang testen und das tolle an Ansible ist, egal wie oft du die ausführst, es soll immer das selbe Ergebnis raus kommen. Egal wie der Ist Zustand ist, nachdem das Playbook durchgelaufen ist, soll immer der selber Stand bei raus kommen. Ich hatte damit noch nie Probleme. Vor allem ist es weniger Fehleranfällig, weil man sich nicht vertippen kann oder den Server auf einmal anders konfiguriert wie es vorher war. Es ist also einfach immer alles reproduzierbar.

Inzwischen habe ich auch mein Docker Deployment drauf ausgelegt. Ich habe zwei Repos: Eins für meine Docker-Compose YAML Dateien + .env und eins für die Reverse Proxy Config. Wenn ich jetzt einen neuen Ordner mit compose.yml, .env (verschlüsselt) und eine zusätzliche YAML Datei erstelle und commite, dann wird daraus per Ansible auf meinem Dockerhost die Anwendung deployed und durch die zusätzliche YML Datei wird eine Config für den Reverse Proxy generiert. Diese wird durch Ansible commited und dadurch landet sie auf meinem Reverse Proxy Server. Ich kann also mit jedem Gerät ohne extra UI nur durch Git Services + Reverse Proxy Eintrag deployen. Oder die VMs melden sich per Ntfy bei mir, wenn sie nach einem apt upgrade in Reboot gern hätten. Über einen Link werden die dann neugestartet sobald es mir passt und nach dem Reboot melden die sich wieder, dass die neugestartet wurden.

So sieht z.B. mein Playbook aus um Docker zu installieren
YAML:
- hosts: "{{ hostlist }}"

  become: yes
  tasks:

    - name: install prerequisites
      apt:
        name:
          - ca-certificates
          - curl
          - gnupg
        update_cache: yes

    - name: add Docker GPG key
      apt_key:
        url: https://download.docker.com/linux/debian/gpg
        state: present

    - name: add Docker repository
      apt_repository:
        repo: "deb [arch=amd64] https://download.docker.com/linux/debian bookworm stable"
        state: present

    - name: update apt cache
      apt:
        update_cache: yes

    - name: install Docker
      apt:
        name:
          - docker-ce
          - docker-ce-cli
          - containerd.io
          - docker-compose-plugin
          - docker-buildx-plugin
        update_cache: yes

    - name: add user permissions
      shell: "usermod -aG docker {{ ansible_env.SUDO_USER }}"

Oder für die Updates:

YAML:
- hosts: "{{ hostlist }}"

  tasks:
    - name: upgrade apt packages
      become: true
      apt:
        upgrade: yes
        update_cache: yes

    - name: check if system reboot is required
      become: true
      stat:
        path: /var/run/reboot-required
      register: reboot_required

    - name: Send Ntfy Message
      uri:
        url: "{{ NTFY_HOST }}"
        method: POST
        body: 'Reboot required on {{ inventory_hostname }}'
        headers:
          Authorization: "Bearer {{ NTFY_TOKEN }}"
      when: reboot_required.stat.exists

    - name: clean up
      become: true
      apt:
        autoremove: yes
        clean: yes
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.383
Punkte für Reaktionen
1.018
Punkte
194
@Ulfhednir Was für ein Netzwerkproblem denn? Sofern es nicht um eine eher exotischere LAN-Umgebung geht kann man da doch nicht wirklich viel falsch machen.
Hat sich erübrigt. Der Gerät wollte nicht mit meinem SFP+ kommunizieren. Hab ihn an eine native RJ45 gestöpselt und nun geht es.
 
  • Like
Reaktionen: Jim_OS

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.067
Punkte für Reaktionen
2.256
Punkte
259
Ich mache jede Nacht Updates und auch direkt hinterher ein apt autoremove.
OK mache ich nicht und würde ich auch gar nicht machen. :) A) Warte ich grundsätzlich immer erst eine Weile ab bevor ich irgendwelche Updates auf mein System loslasse und B) lese ich immer erst div. Infos und Usererfahrungen bevor ich Updates mache.

Bei einem (Update)Automatismus kann man ggf. auch schnell in das ein oder andere Problem laufen: Beispiel
Und unbenutzer Docker Images werden auch jede Nacht gelöscht.
Das verwirrt mich gerade irgendwie. :) Wieso hast Du (jede Nacht und überhaupt) unbenutzte Docker-Images die Du löschen willst/musst?
Die Playbooks wirst du ja am Anfang testen und das tolle an Ansible ist, egal wie oft du die ausführst, es soll immer das selbe Ergebnis raus kommen.
Ja das ist klar aber ich muss halt auch daran denken das ich die Playbooks noch entsprechend anpassen muss weil ich vielleicht etwas an/bei Proxmox geändert habe (z.B. bei den Disk/Storage, eine VM hat vielleicht eine andere ID, es gibt andere/neue VM/LXC usw.)

Wie gesagt hat Ansible sicherlich seine Daseinsberechtigung und kann - je nach Proxmox Umgebung - sicherlich die Arbeit erleichtern und Zeit einsparen, aber für mich und meine kleine Proxmox Install., sehe ich da keinen Mehrwert. Aber wer weiß vielleicht komme ich ja irgendwann auch noch auf den Geschmack. :LOL:

VG Jim
 

Hellraiser123

Benutzer
Mitglied seit
31. Jul 2024
Beiträge
452
Punkte für Reaktionen
230
Punkte
99
Bei einem (Update)Automatismus kann man ggf. auch schnell in das ein oder andere Problem laufen: Beispiel
Es geht um die VM Updates. Da hat Proxmox ja nichts mit zu tun. Und es gibt ja auch häufiger Updates die die Sicherheit dann betreffen.
Das verwirrt mich gerade irgendwie. :) Wieso hast Du (jede Nacht und überhaupt) unbenutzte Docker-Images die Du löschen willst/musst?
Durch Updates.
an/bei Proxmox geändert habe (z.B. bei den Disk/Storage, eine VM hat vielleicht eine andere ID, es gibt andere/neue VM/LXC usw.)
Das sind alles Variablen bzw. das ist im Inventar definiert.

Ich möchte aber auch niemanden bekehren. Mir ging es nur um den Austausch, wenn es auch jemand einsetzt. Vielleicht hat dann jemand etwas, was man selber auch interessant findet und würde es gern einbauen.
Ich habe letzte Woche mir ein Playbook erstellt, weil es häufiger mal Aussetzer beim Backup gab. Hintergrund: Ich sichere meine NAS auf eine verschlüsselte VM die am Proxmox Server hängt. Da habe ich eine VM die es entschlüsselt. Und da gab es Timing Probleme.
Ich habe jetzt ein Playbook (hätte es natürlich auch als Cron schreiben können). Das Playbook startet die VM in Proxmox, diese entschlüsselt die Festplatte und wenn die Festplatte entschlüsselt wurde, dann wird das Hyper Backup gestartet. Wenn es fertig ist, wird die VM runtergefahren und die Festplatte geht wieder aus. Aber das sind halt alles Individuelle Lösungen, die natürlich nicht jeder braucht. Daher dachte ich, dass es interssant wäre, wenn noch jemand spannende Sachen mit macht.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!