In diesem Beitrag lernen wir, wie Sie das Kubernetes -Plugin im Ansible -Tool verwenden. In Ansible ist es schwierig, eine große Anzahl von Containern zu verwalten. Die Verwendung von Kubernetes in Ansible ist jedoch hilfreich beim Verwalten der Container. In diesem Leitfaden lernen wir, was die Kubernetes -Inventarquelle ist und wie sie in Ansible funktioniert.
Google hat die leicht zugängliche Verwaltungssoftware namens Kubernetes gestartet, die auch als K8S bezeichnet wird und zur Verwaltung der virtualisierten Konfigurationen über einen Remote-Satz von Maschinen mit Null-Down-Time-Installationsfunktionen, automatisierter Umkehr und Skalierbarkeit, die dem Kubernetes-Plugin mit extrem anpassungsfähig ist Architektur in Ansible. Durch die Verfügbarkeit von REST -APIs für die notwendige Funktionalität ist das Hauptziel von Kubernetes, die Komplexität zu verbergen, die mit der Kontrolle einer Reihe von Containern verbunden sind.
Die Konfiguration von Kubernetes basiert auf dem Client-Server. Standardmäßig gibt es jedoch nur einen Hauptserver, der als steuerlicher Host dient. In Kubernetes können wir auch Multi-Main-Controller für die Konfiguration von Kubernetes verwenden. Die K8s -Inventarquelle ist gelegentlich für Steuerungssysteme erforderlich und konfigurieren die Dienste auf dem Remote -Host, um Pods zu steuern. Es gibt jedoch Schwierigkeiten, spezifische Anweisungen dazu zu erhalten, wie dies zu tun ist. Infolgedessen implementieren wir dieses Tutorial zur Herstellung eines Ansible Playbooks, das die Schoten in einer Domäne extrahiert und eine Kubernetes -Inventarquelle erzeugt.
Voraussetzungen, die Kubernetes -Inventarquelle in Ansible zu verwenden
Um die Kubernetes -Inventarquelle in Ansible zu verwenden, gibt es in diesem Handbuch Bühnenprozessanweisungen oder -befehle. Stellen Sie sicher, dass Sie über die erforderliche Vorbereitung verfügen, wenn Sie sich darin bewegen möchten:
Beispiel:
Hier ist das allererste Beispiel, in dem wir die Kubernetes in Ansible implementieren. Dazu verwenden wir eine beliebige Ansible -Umgebung, um die Kubernetes -Inventarquelle zu implementieren. Die folgenden aufgeführten Prozesse werden im folgenden Szenario mit dem Kubernetes -Inventar -Plugin durchgeführt:
Um die Konzepte und die Ausführung einfach zu verstehen, implementieren wir das Beispiel in einer Reihe von Schritten.
Schritt 1: Implementieren Sie den neuen Namespace im K8S -Cluster in Ansible
Im ersten Schritt erstellen wir das Spielbuch, damit wir den Inhalt in die “schreiben können“.YML ”-Format in Ansible. Um das Spielbuch zu erstellen, ist Folgendes der Befehl, den wir verwenden:
[root@master ansible]# nano nginx_pod.YML
Nun der „Schote“.YML ”Playbook wird erstellt und in das neue Terminal von Ansible gestartet. Wir beginnen das Skript zu schreiben. Im Spielbuch definieren wir zunächst die API -Version, die wir in der Ansible Pod verwenden, nämlich "v1". Der Namespace, den wir definieren, ist "Ansible-Namesspace". Dann listen wir die Metadaten des Ansible-Namesspace auf. In den Metadaten verwenden wir die Nginx -Software und das Etikett, das einen Wertstufe in der IT enthält. In der Spezifikation des Spielbuchs listen wir den Namen und das Bild auf, das im Container gespeichert ist. Beide enthalten den Nginx darin.
Schritt 2: Erstellen Sie das Manifestdokument in Ansible
Jetzt erstellen wir ein weiteres Dokument in demselben Verzeichnis von Ansible, das das Bereitstellungsdokument in der “ist“.YML ”-Format. Verwenden Sie zum Erstellen des Manifest -Dokuments den folgenden Befehl im Ansible -Terminal:
[root@master ansible]# nano nginx_deployment.YML
Im Manifest -Dokument definieren wir zunächst erneut die App -Version, die "App/V1" ist. Anschließend sagen wir, welche Art von Datei sie ist, ob es sich um eine Bereitstellungsdatei handelt. Dann definieren wir den Namespace, der ansible-namesspace ist. Um die Implementierung zu erstellen. Die Nginx -Bilder sind 1.14.2, die in der Pod auf den Markt gebracht werden. Der Parameter von MatchLabels enthält die Tags für die Pods und deren Spezifikationen unter dem Spezifikationsparameter. Wenn die Tags auf den Pods irgendwie mit denen übereinstimmen, die in den Konfigurationsinformationen angegeben sind.
Schritt 3: Erstellen Sie das Playbook for Kubernetes -Implementierung in Ansible
Jetzt möchten wir ein weiteres Spielbuch in Ansible erstellen. In diesem Spielbuch implementieren wir die Funktionalität von Kubernetes darin. Verwenden Sie den folgenden Befehl, um das Spielbuch zu erstellen:
[root@master ansible]# nano kubernetes_main.YML
Das Spielbuch wird in demselben Verzeichnis erstellt, in dem das vorherige Spielbuch und das Manifestdokument in Ansible gespeichert sind. Im Spielbuch definieren wir zunächst die Funktionalität des Spielbuchs, das wir implementieren möchten. Um die Verbindung aufzubauen, stellen wir den Remote -Hosts zur Verfügung, auf die wir abzielen möchten. Hier zielen wir auf "alle" Hosts ab. Als Nächst. Jetzt definieren wir die Aufgaben im Spielbuch. Zunächst überprüfen wir den Status des Minikube -Geräts. Als nächstes erstellen wir einen neuen Kubernetes -Namespace im Spielbuch. Dann duplizieren Sie den nginx_pod.YML und Nginx_Deployment .YML zum Remote -Gerät.
Durch diese YML -Dokumente erstellen wir die POD -Implementierung im Remote -Gerät. Anschließend prüfen wir, ob der Kubernetes -Pod an der angegebenen Stelle im Remote -Gerät vorhanden ist oder nicht.
Nach der Playbook -Beendigung erstellen wir jetzt die Inventardatei, damit wir die Verbindung zwischen dem Ansible Controller und dem Ziel -Remote -Host herstellen.
Alle:
Gastgeber:
K8S_MASTER_NODE:
Ansible_Host: 192.168.3.229
ansible_user: Ansible
ansible_password: ********
Ansible_Connection: SSH
Ansible_port: 22
[Root@Master Ansible]# Ansible-Playbook kubernates_main.YML
Hier ist die gewünschte Ausgabe, bei der wir sehen, dass die Aufgaben erfolgreich auf der Zielmaschine platziert werden:
Nachdem die Aufgabe auf der Zielmaschine platziert wurde. Wir verwenden den folgenden "Grep" -Befehl:
[root@master Ansible]# kubectl Holen Sie sich den Namespace | Grep Ansible-Namesspace
Wenn Sie den erstellten POD im Namespace des Kubernetes -Cluster überprüfen möchten, schreiben Sie den folgenden Befehl, um zu überprüfen:
[root@master ansible]# kubectl Get Pods-Namesspace Ansible-namesspace
Wie Sie in der vorherigen Ausgabe sehen, erhalten wir die Pods, die auf dem Gerät ausgeführt werden. Jetzt überprüfen wir die Bereitstellung, die wir im Kubernetes -Cluster erstellt haben. Verwenden Sie die folgende Anweisung, um die bereits erstellten Bereitstellungen zu überprüfen:
[root@master ansible]# kubectl erhalten Bereitstellungen-namespace Ansible-namesspace
Abschluss
Wir haben gelernt, was die Kubernetes -Inventarquelle in Ansible ist. Wir haben auch gelernt, wie man das Kubernetes -Inventar in Ansible nutzt. Dann haben wir ein Beispiel implementiert, damit wir klarer über die Arbeit von Kubernetes Inventory Source in Ansible erfahren werden.