Zum Hauptinhalt springen
  1. Beiträge/
  2. Kleines Homelab/
  3. k3s-prod: Kubernetes Cluster Konfiguration und Anwendungsbereitstellung/

Ansible Konfiguration für k3s-prod

Inhaltsverzeichnis

Ansible Konfiguration für k3s-prod
#

Dieses Verzeichnis beherbergt alle notwendigen Ansible-Ressourcen, um den k3s Kubernetes Cluster zu initialisieren, zu konfigurieren und grundlegende Verwaltungsaufgaben durchzuführen.

Herkunft und Anpassung
#

Die Basis dieser Ansible-Konfiguration stammt ursprünglich aus dem offiziellen k3s-io/k3s-ansible Projekt. Sie wurde jedoch an die spezifischen Anforderungen und die Infrastruktur von k3s-prod angepasst und erweitert.

Aufgabe und Rolle
#

Ansible spielt in diesem Setup eine entscheidende Rolle bei:

  • Initialer Cluster-Setup: Automatisierte Installation von k3s auf den vorgesehenen Nodes und deren Verbund zu einem funktionsfähigen Kubernetes-Cluster.
  • Node-Management: Vorbereitung der Nodes für die Kubernetes-Workloads (z.B. Installation von Abhängigkeiten, Konfiguration von Dateisystemen).
  • Konfigurationsmanagement: Anwendung von Host-spezifischen Konfigurationen, die für den Cluster-Betrieb notwendig sind.

Verzeichnisstruktur
#

  • k3s-prod-inv.yaml: Das Haupt-Inventarfile für den k3s-prod Cluster. Hier sind die Hosts, deren Rollen (Master/Worker) und spezifische Variablen definiert.
  • README.md: Diese Datei, die eine Übersicht über die Ansible-Konfiguration bietet.

Nutzung
#

Um die Ansible-Playbooks auszuführen, navigieren Sie in dieses Verzeichnis und verwenden Sie den ansible-playbook-Befehl.

Beispiel: Cluster initialisieren/aktualisieren
#

Um den k3s-Cluster basierend auf dem k3s-prod-inv.yaml Inventar zu installieren oder zu aktualisieren, verwenden Sie:

1ansible-playbook k3s.orchestration.site -i ansible/k3s-prod-inv.yaml -u root

Stellen Sie sicher, dass Sie die notwendigen SSH-Zugangsdaten für die Ziel-Nodes konfiguriert haben (z.B. über ssh-agent).

Abhängigkeiten
#

Um diese Ansible-Playbooks ausführen zu können, benötigen Sie:

  • Ansible: Eine installierte Ansible-Version (empfohlen wird die neueste stabile Version).
  • Python: Eine kompatible Python-Installation auf dem System, von dem aus Ansible ausgeführt wird.
  • Ansible Collections: Spezifische Ansible Collections, die in den Playbooks verwendet werden (diese werden in der Regel automatisch installiert oder können über requirements.yml verwaltet werden).

Weiterführende Dokumentation
#

Für detaillierte Informationen zur k3s-Installation und den spezifischen Playbooks, konsultieren Sie bitte die offizielle k3s-ansible Dokumentation.

Per E-Mail antworten
Fabrice Kirchner
Autor
Fabrice Kirchner
stolzer Vater, Nerd, Admin