Daemonsets sind recht einfach zu verstehen. In Kubernetes garantiert eine Daemonset -Architektur, dass ein Pod auf jedem Knoten in einem Cluster arbeitet (falls zutreffend). Für jeden Daemon würde ein einzelner Daemonset, der alle Knoten umfasst, in der einfachsten Instanz verwendet werden. Zahlreiche Daemonsets für denselben Dämonentyp kann in einer komplizierteren Anordnung verwendet werden, die jeweils mit unterschiedlichen Flaggen und/oder Speicher- und CPU -Anforderungen für verschiedene Hardwaretypen. Die Müllsammlung wird verwendet, um Schoten zu entfernen, wenn Knoten aus dem Cluster beseitigt werden. Wenn Sie einen Daemonset löschen, löschen Sie auch die erzeugten Schoten.
Daemonsets sind analog zu Kubernetes -Bereitstellungen. Auf diese Weise werden sie automatisch verteilt, um sicherzustellen, dass Pods auf jedem Knoten im Cluster bereitgestellt werden. Wenn ein neuer Knoten zum Cluster hinzugefügt wird, nachdem der Daemonset bereits bereitgestellt wurde, würde der Scheduler den Daemonset auf einem neuen Knoten auf dem Join bereitstellen.
Verwendung von Daemonset
Die Protokollierung ist eine häufige Verwendung für Daemonsets. Vielleicht müssen wir sicherstellen, dass unser Protokollsammeldienst auf jedem Knoten in unserem Cluster installiert ist, um Protokolle von diesem Knoten zu sammeln. Dies könnte ein wesentlicher Ort für einen Daemonset sein. Betrachten Sie es so: Durch Starten der App unter dem Betriebssystem können wir Dienste auf jedem unserer Kubernetes -Knoten ausführen und bereitstellen. Durch die Bereitstellung von Pods, die grundlegende Wartungs- und Servicetätigkeiten für jeden Knoten durchführen, erhöhen Daemonets die Clusterleistung. Durch einen OpenShift -Container -Plattform -Cluster wird ein Daemonset verwendet, um Duplikate eines POD auf bestimmten oder allen Knoten auszuführen.
Aktualisieren eines Daemonset
Wenn Knotenkennungen aktualisiert werden, installiert der Daemonset Pods an neuen entsprechenden Knoten und entfernen Sie Pods so schnell wie möglich von neu abgestimmten Knoten. Die von Daemonset erzeugten Schoten können geändert werden. Pods dagegen ermöglichen nicht, dass alle Felder geändert werden können. Der Daemonset Controller verwendet die ursprüngliche Vorlage beim nächsten Mal, wenn ein Knoten gebildet wird (auch wenn er denselben Namen hat).
Ein Daemonset kann gelöscht werden. Die Schoten werden auf den Knoten aufrechterhalten, wenn Sie -cascade = false mit Kubectl festlegen. Danach können Sie einen neuen Daemonset mit einer anderen Vorlage erstellen. Alle alten Schoten werden als identische Beschriftungen des neuen Daemonset mit der aktualisierten Vorlage anerkannt. Trotz einer Diskrepanz in der POD -Vorlage wird sie nicht geändert oder entfernen.
Erstellen Sie einen Daemonset in Kubernetes
Jetzt geben wir ein praktisches Beispiel für die Schaffung von Daemonset in Kubernetes. Für diesen bestimmten Zweck haben wir Ubuntu 20 installiert.04 Linux -Betriebssystem. Im Inneren haben wir einen Minikube -Cluster für eine erfolgreiche Ausführung installiert. Sie müssen sowohl Minikube als auch Ubuntu installiert haben. Anfänglich müssen Sie sich bei Ihrem Ubuntu 20 anmelden.04 Betriebssystem. Nach dem Anmeldung müssen Sie das Befehlszeilenterminal öffnen. Sie können es leicht öffnen, indem Sie die Taste „Strg+Alt+T“ insgesamt drücken oder einfach das Schlüsselwort „Terminal“ in die Suchleiste des Anwendungsbereichs eingeben. Die folgenden dieser Methoden öffnen die Ubuntu 20.04 Terminalfenster.
Jetzt ist es obligatorisch, einen Minikube -Cluster zu starten, bevor er zur Erstellung von Daemonset wechselt. Sie müssen also den Befehl unterunter aufgeführt in das Terminal schreiben. Nachdem Sie es geschrieben haben.
$ minikube Start
Sie können die Version des auf Ihrem Systems installierten Minikube -Cluster in der Ausgabe des Befehls sehen. Sie können es bei Bedarf aktualisieren. Es kann einige Zeit dauern, um den Minikube -Cluster zu starten.
Jetzt sind Sie bereit, eine Konfigurationsdatei für Daemonset zu erstellen. Sie müssen bestätigen, dass die Konfigurationsdatei mit der .Yaml -Erweiterung sollte existieren. Eine YAML -Datei kann verwendet werden, um einen Daemonset zu definieren. Wir haben ein Beispiel für eine Dämonset -Konfigurationsdatei in den beigefügten Bildern aufgeführt.
Im oben genannten Bild können Sie sehen, dass wir Apiversion, Art, Name, Namespace, Spezifikationen und die Informationen zu Containern erwähnt haben.
Im obigen Bild können Sie sehen, dass wir die Details zu CPU, Speichervolumemounts und HostPath usw. erwähnt haben., In der Konfigurationsdatei von DaEMonset.
Jetzt können wir einen Daemonset im Terminalfenster erstellen, indem wir dieselbe Konfigurationsdatei verwenden, die wir zuvor erstellt haben. Führen Sie also den folgenden Befehl in der Shell aus.
$ kubectl anwenden -f dämonset.Yaml
In der Ausgabe des Befehls können Sie ansehen, dass er erfolgreich erstellt wurde. Sie können es nach Ihren Anforderungen weiter nutzen.
Abschluss
In dem Artikel haben wir, wie oben erwähnt, das grundlegende Konzept von Daemonset in Kubernetes veranschaulicht. Außerdem haben wir die Verwendung von Daemonset und seinem Update erklärt. Schließlich haben wir es durch das praktische Beispiel erklärt. Jetzt glaube ich, dass Sie leicht Daemon -Set in Kubernetes verwenden können.