„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Python- und Excel Dynamic Risiko -Update -Tipps

Python- und Excel Dynamic Risiko -Update -Tipps

Gepostet am 2025-04-18
Durchsuche:365

Dynamic Risk-Based Updates Using Python and Excel

Dynamische risikobasierte Updates mit Python und Excel "

In diesem Blog werden wir ein einfaches Ansible-Server-Aktualisierungsskript aufnehmen und es in ein risikobasiertes Update-System verwandeln. Hier werden Server mit dem niedrigsten Risiko zuerst gepatcht und geben uns die Möglichkeit, gründlich zu testen, bevor wir zu Systemen mit höherer Priorität übergehen.

  • Ansible Automation:
    • Dynamische risikobasierte Updates mit Python und Excel "
    • host file
    • Dynamische Hostliste
    • Warum nicht eine Hosts -Datei verwenden?

Die geheime Sauce? Einrichten gut definierter Gruppen, um diesen Fluss nahtlos zu machen. Aber die eigentliche Frage ist: Können wir dies ohne wesentliche Änderungen an unserem Ansible -Skript vom letzten Mal abziehen? Lass uns herausfinden!

Hostdatei

Die Host -Datei steht im Mittelpunkt dieser Änderung. Im letzten Beitrag haben wir eine statische Datei verwendet, die nach Servertypen gruppiert wurde. Jetzt fügen wir eine zweite Gruppenschicht nach Risikostufe hinzu, die der Hostdatei eine gewisse Komplexität verleiht.

Aber hier ist die Wendung: Was ist, wenn unsere Host -Datei dynamisch aus einer generischen Quelle generiert werden könnte? Das würde die Dinge flexibel halten und uns vor endloser Dateibearbeitung retten!

Dynamische Hostliste

Ansible kann mit dynamisch erstellten Hostdateien funktionieren, was uns eine flexiblere Möglichkeit bietet, Server im Auge zu behalten. In diesem Beispiel werden wir eine Excel -Datei verwenden, um unsere Hosts zu organisieren.

Beispiel hosts_data.xlsx Struktur:

host name server Umgebung ansible user server type dns Notes
Minze dev Richard desktop desktop.sebostech.local Mint Desk top
ansible_node dev ansible_admin ansible ansible_node.sebostech.local Entwicklungsserver; Nur monatlich aktualisiert
klone_master dev ansible_admin Klon clone.dev.sebostech.local Entwicklungsserver; Nur monatlich aktualisiert
mele staging Richard nas nas.stage.sebostech.local Testserver; Verwendet für Anwendungstests
pbs Produktion Wurzel backup server pbs.prod.sebostech.local Testserver; Verwendet für Anwendungstests
pve Produktion Wurzel hypervisor api.stage.sebostech.local Testserver; Verwendet für Anwendungstests
Samba Produktion Richard nas nas.prod.sebostech.local Critical Server; Benötigt tägliche Sicherung
Firewall Produktion Richard Firewall firewall.sebostech.local Critical Server; Benötigt tägliche Sicherung

Die meisten IT -Abteilungen haben bereits eine Liste von Servern in einer Excel -Datei. Warum also nicht nutzen? Dieser Ansatz erleichtert es einfach, unsere Ansible-Hosts ohne ständige manuelle Aktualisierungen organisiert und auf dem neuesten Stand zu halten.

Aber wie verwendet Ansible die Excel -Datei? Lassen Sie uns darüber eingehen, wie wir diese Daten in ein verwendbares dynamisches Inventar verwandeln können!

## This will run agains all host
ansible-playbook -i dynamic_inventory.py playbook.yml

Sie können auch Umgebungsvariablen verwenden, um bestimmte Gruppen basierend auf der Serverumgebung, dem Servertyp oder sogar einer Kombination von beiden zu zielen:

## Just production
SERVER_ENVIRONMENT="production" 
ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"

## Just nas
SERVER_TYPE="nas" 
ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"

## production nas
SERVER_ENVIRONMENT="production" 
SERVER_TYPE="nas" 
ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"

Benötigen Sie neue Gruppen? Aktualisieren Sie einfach die Excel-Datei und passen Sie das Python-Skript entsprechend so an!

Für einen Blick auf den Python -Code siehe hier.

Warum nicht eine Hosts -Datei verwenden?

Als ich ansible anfing, war die Hosts-Datei meine Anlaufstelle. Aber als ich mehr Server hinzufügte, insbesondere solche mit doppelten Rollen, wurde diese Datei immer komplexer.

Könnten Sie eine traditionelle Hosts -Datei verwenden, um dies zu erreichen? Sicher, aber es gibt ein paar Nachteile.

Mit einer Hosts -Datei würden Sie wahrscheinlich mit doppelten Einträgen oder zusätzlichen Variablen enden, um die gesamte Struktur zu erfassen, die Sie benötigen. Eine Excel-Datei dagegen bietet eine saubere, leicht zu machende Struktur, die die Dinge organisiert.

In einer Unternehmensumgebung besteht eine gute Chance, dass es bereits mindestens eine Excel -Datei mit einer Serverliste gibt. Warum also nicht die Vorteile von

nutzen?

Wenn Sie möchten, dass ich tiefer in den Python -Code eintauche, lassen Sie es mich einfach wissen!

Freigabeerklärung Dieser Artikel ist reproduziert unter: https://dev.to/sebos/dynamic-risk-basiert-updates-using-python-and-excel-dcp?1 Wenn es zu Verstößen vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3