GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ein Leitfaden für Systemadministratoren zu grundlegenden Kubernetes-Komponenten

Ein allgemeiner Kubernetes-Cluster (auch als K8s geschrieben) besteht aus einer Steuerungsebene Knoten und mindestens einen Worker-Knoten .

Dieses Tutorial führt Sie durch die Kubernetes-Architektur und die Komponenten der Steuerungsebene und der Worker-Knoten. Es erklärt die Architektur und Funktionen wie api-server , Scheduler , usw. und Steuerungsmanager . Unter Worker-Knoten behandeln wir Details zu kubectl , kubelet und kube-proxy .

Kubernetes-Architektur

Bild von kubernetes.io

Aus dem obigen Diagramm können wir ersehen, dass die Steuerungsebene einige globale Entscheidungen wie die Planung trifft und die Clusterdetails in einem Datenspeicher (usw.) verwaltet. Es reagiert auch auf die Cluster-Ereignisse, einschließlich der Wartung der Reproduktionen, wie in den Bereitstellungen erwähnt.

Komponenten der Steuerungsebene

Was ist also eine Kubernetes-Steuerungsebene?
In einfachen und einfachen Worten ist die Steuerungsebene ein globaler Entscheidungsträger für den Cluster, dh sie steuert die Planung. Es ist auch für die Aufrechterhaltung des gesamten Clusterverhaltens verantwortlich. Containerisierte Apps werden basierend auf dem pro Bereitstellung zugewiesenen Arbeitsspeicher auf den Worker-Knoten geplant. Es reagiert auch auf Cluster-Ereignisse. Beispielsweise startet/beendet die Steuerungsebene neue Pods, wenn die Replikatwerte nicht erfüllt sind. Wir können sagen, dass die Kubernetes-Steuerungsebene das Gehirn des Clusters ist, das logische Entscheidungen trifft.

[ Den Lesern gefiel auch: Verwandeln Sie eine Kubernetes-Bereitstellung in einen Knative-Dienst]

Die Steuerungsebene hat die folgenden Komponenten:

API-Server (auch bekannt als Kube-Apiserver)

Der API-Server ist das Kubernetes-Front-End, das die Kubernetes-API verfügbar macht. Es validiert und konfiguriert auch Daten für die API-Objekte, einschließlich Pods, Dienste, Bereitstellungen, Replikationscontroller und andere. Der API-Server bedient REST-Operationen und stellt das Frontend für den freigegebenen Status des Clusters bereit, über den alle anderen Komponenten interagieren.

etcd (Datenspeicher)

Der etcd-Datenspeicher ist das Kubernetes-Backend, das die Cluster-Informationen in Schlüssel-Wert-Paaren enthält. In Kubernetes gibt es ein Konzept des gewünschten Zustands und Ist-Zustand . Kubernetes verwendet etcd, um diese beiden Zustände zu überwachen. Weichen sie voneinander ab, nimmt Kubernetes Änderungen vor, um Ist- und Soll-Zustand in Einklang zu bringen. Dies wird mithilfe des verteilten etcd-Datenspeichers überwacht.

kube-Scheduler

Der Kube-Scheduler ist eine Komponente der Steuerungsebene, die hauptsächlich die ungeplanten Pods basierend auf ihrer Speichernutzung dem entsprechenden Knoten zuweist. Speicherauslastung und Hardware-/Softwareeinschränkungen werden beim Festlegen eines Knotens für bestimmte Anwendungsfaktoren wie Netzwerkrichtlinien berücksichtigt.

kube-control-manager

Der kube-control-manager ist eine Komponente der Steuerungsebene, die den Steuerungsprozess ausführt. Im Allgemeinen ist ein Steuerungsprozess eine Schleife, die sich darauf konzentriert, den gewünschten Zustand für jede Anwendung zu einem bestimmten Zeitpunkt dem aktuellen Zustand anzugleichen.

Worker-Knoten-Komponenten

Was ist ein Worker-Knoten?
Ein Worker-Knoten führt die containerisierten Anwendungen aus und berichtet kontinuierlich an den API-Server der Steuerungsebene über seine Gesundheit.

Es hat die folgenden Komponenten:

kubelet

Das Kubelet ist ein Agent, der auf jedem Knoten in einem Kubernetes-Cluster ausgeführt wird und sicherstellt, dass die Container in den Pods ausgeführt werden und fehlerfrei sind. Es kommuniziert kontinuierlich mit der Kubernetes-API, um die Zustandsinformationen der Pods weiterzuleiten.

kube-proxy

Der Kube-Proxy ist ein Netzwerk-Proxy, der auf jedem Knoten in einem Kubernetes-Cluster ausgeführt wird. Es verwaltet Netzwerkregeln auf allen Knoten und ermöglicht so eine reibungslose Kommunikation zwischen Pod-Elementen innerhalb und außerhalb des Clusters.

Containerlaufzeit

Es ist eine Software, die für die Ausführung von Containern innerhalb der Cluster-Knoten verantwortlich ist. Beispiele hierfür sind CRI-O, containerd, Docker usw.

[ Holen Sie sich dieses kostenlose E-Book:Verwalten Ihrer Kubernetes-Cluster für Dummies. ]

Was kommt als nächstes?

In diesem Zwei-Blog-Beitrag habe ich die Kubernetes-Architektur und ihre Komponenten behandelt. Ich habe mich bescheiden und einfach bemüht, virtuelle Maschinen, Containerkonzepte und die grundlegende Clusterarchitektur von Kubernetes zu erklären.

[ Die Unterschiede zwischen Kubernetes und OpenShift finden Sie in diesem neuen E-Book. ]

Referenzen:Kubernetes-Komponenten


Linux
  1. Ein Leitfaden für Systemadministratoren zu SELinux:42 Antworten auf die großen Fragen

  2. Basishandbuch für die Installation von LAMP auf Ubuntu

  3. Eine Anleitung für Systemadministratoren zur Konfiguration eines E-Mail-Servers

  4. Ein Leitfaden für Linux-Systemsteuerungen bei Vultr

  5. Ein Leitfaden für Linux-Systemsteuerungen bei Vultr

Ein Leitfaden für Anfänger zu LVM

Erweiterte Audiosteuerung unter Linux

Kernkomponenten eines Kubernetes-Clusters

Ein Leitfaden für Anfänger zu Cron-Jobs

Eine grundlegende Anleitung zum Linux-Boot-Prozess

Vollständiger Leitfaden für Anfänger zur Kubernetes-Cluster-Bereitstellung auf CentOS (und anderen Linux)