In DevOps Letztes Updateated:
Teilen:
Cloudways bietet verwaltetes Cloud-Hosting für Unternehmen jeder Größe zum Hosten einer Website oder komplexer Webanwendungen.

Lassen Sie uns die Kubernetes-Architektur im Detail lernen.

Ich gehe davon aus, dass Sie ein Grundverständnis habenanding von Kubernetes. Wenn nicht, lesen Sie die folgenden Einführungs- und Installationsartikel.

https://geekflare.com/kubernetes-introduction/

https://geekflare.com/install-kubernetes-on-ubuntu/

Kubernetes folgt der Master-Slave-Architektur. Die Kubernetes-Architektur verfügt über einen Hauptknoten und Arbeitsknoten. Es gibt vier Komponenten von a Hauptknoten.

  • Kube API Server
  • Regler
  • Scheduler
  • usw

Und der Arbeiterknoten hat drei Komponenten.

  • Kubelet
  • Kube-Proxy
  • Container-Laufzeit

So sieht eine Kubernetes-Architektur aus:

Kubernetes Architektur

Lassen Sie mich Ihnen die Komponenten des Masterknotens und der Arbeitsknoten im Detail erläutern.

Hauptknoten

Der Masterknoten verwaltet den Kubernetes-Cluster und ist der Einstiegspunkt für alle Verwaltungsaufgaben. Sie können über die CLI, die GUI oder die API mit dem Masterknoten kommunizieren. Um eine Fehlertoleranz zu erreichen, kann der Cluster mehr als einen Masterknoten enthalten. Wenn wir mehr als einen Masterknoten haben, gibt es einen Hochverfügbarkeitsmodus, in dem ein Leiter alle Operationen ausführt. Alle anderen Masterknoten wären die Anhänger dieses Leader-Masterknotens.

Auch zur Verwaltung des Clusters state, Kubernetes verwendet etcd. Alle Masterknoten stellen eine Verbindung zu etcd her, einem verteilten Schlüsselwertspeicher.

kubernetes Masterknoten

Lassen Sie mich Ihnen alle diese Komponenten einzeln erläutern.

API-Server

Der API-Server führt alle Verwaltungsaufgaben auf dem Masterknoten aus. Ein Benutzer sendet die restlichen Befehle an den API-Server, der dann gültig istateEs sind also die Anfragen processes und führt sie aus. etcd speichert den resultierenden state des Clusters als verteilter Schlüsselwertspeicher.

Scheduler

Danach haben wir einen Scheduler. Wie der Name schon sagt, plant der Scheduler die Arbeit für verschiedene Worker-Knoten. Es enthält die Informationen zur Ressourcennutzung für jeden Arbeitsknoten. Der Scheduler berücksichtigt auch die Anforderungen an die Dienstqualität, die Datenlokalität und viele andere solche Parameter. Anschließend plant der Scheduler die Arbeit in Bezug auf Pods und Services.

Controller-Manager

Nicht terminierende Regelkreise, die regelnate die state des Kubernetes-Clusters wird vom Control Manager verwaltet. Nun kennt jeder dieser Regelkreise den gewünschten state des Objekts, das es verwaltet, und dann sehen sie sich ihren aktuellen st anate über die API-Server.

Wenn in einem Regelkreis der gewünschte state entspricht nicht dem aktuellen state des Objekts, dann werden vom Regelkreis Korrekturmaßnahmen ergriffen, um den aktuellen state das gleiche wie die gewünschte state. Daher stellt der Controller-Manager sicher, dass Ihr aktueller state ist das gleiche wie der gewünschte state.

usw

Der etcd ist ein verteilter Schlüsselwertspeicher, der zum Speichern des Clusters st verwendet wirdate. Entweder muss es Teil des Kubernetes-Masters sein, oder Sie können es extern konfigurierenally sowie. etcd ist im goLang geschrieben und basiert auf dem Floßkonsens Algorithmus.

Das Floß ermöglicht es der Sammlung von Maschinen, als zusammenhängende Gruppe zu arbeiten, die den Ausfall einiger ihrer Mitglieder überleben kann. Selbst wenn einige der Mitglieder nicht funktionieren, kann dieser Algorithmus jederzeit funktionieren. Einer der Knoten in der Gruppe ist der Master, und der Rest von ihnen sind die Follower.

Es kann nur einen Meister geben, und alle anderen Meister müssen diesem Meister folgen. Neben der Speicherung des Clusters state, etcd wird auch zum Speichern der Konfigurationsdetails wie der Subnetze und der Konfigurationszuordnungen verwendet.

Arbeiterknoten

Ein Arbeitsknoten ist ein virtueller oder physischer Server, auf dem die Anwendungen ausgeführt werden und der vom Masterknoten gesteuert wird. Die Pods werden auf den Worker-Knoten geplant, die über die erforderlichen Tools verfügen, um sie auszuführen und zu verbinden. Pods sind nichts anderes als eine Sammlung von Behältern.

Um von der Außenwelt auf die Anwendungen zugreifen zu können, müssen Sie eine Verbindung zu den Worker-Knoten und nicht zu den Master-Knoten herstellen.

kubernetes Arbeiterknoten

Lassen Sie uns die Komponenten des Arbeitsknotens untersuchen.

Container-Laufzeit

Die Containerlaufzeit ist einfachally Wird verwendet, um einen kontinuierlichen Lebenszyklus auf dem Worker-Knoten auszuführen und zu verwalten. Einige Beispiele für Container-Laufzeiten, die ich Ihnen nennen kann, sind die Container rkt, lxc usw. Es wird oft beobachtet, dass Docker auch als Container-Laufzeit bezeichnet wird, aber um genau zu sein, möchte ich Ihnen sagen, dass Docker ein platFormular, das Container als Containerlaufzeit verwendet.

kubelet

Kubelet ist einfachally ein Agent, der auf jedem Worker-Knoten ausgeführt wird und kommuniziertates mit dem Masterknoten. Wenn Sie also zehn Worker-Knoten haben, wird Kubelet auf jedem Worker-Knoten ausgeführt. Es empfängt die Pod-Definition auf verschiedene Weise und führt die Container-Zuordnungen ausated mit diesem Port. Es stellt außerdem sicher, dass die Behälter, aus denen die Schoten bestehen, immer gesund sind.

Das Kubelet stellt über das gRPC-Framework eine Verbindung zur Containerlaufzeit her. Das Kubelet stellt eine Verbindung zur Container-Laufzeitschnittstelle (CRI) her, um Container- und Image-Vorgänge auszuführen. Der Bilddienst ist für die gesamte Bildbearbeitung verantwortlich.related-Vorgänge, während der Laufzeitdienst für alle Pod- und Container-Vorgänge verantwortlich ist.related Operationen. Diese beiden Dienste müssen zwei unterschiedliche Vorgänge ausführen.

Lassen Sie mich Ihnen etwas Interessantes sagen: Container-Laufzeiten waren in Kubernetes früher fest codiert, aber mit der Entwicklung von CRI kann Kubernetes jetzt verschiedene Container-Laufzeiten verwenden, ohne dass eine Neukompilierung erforderlich ist. Somit kann jede Containerlaufzeit, die CRI implementiert, von Kubernetes zum Verwalten von Pods, Containern und Container-Images verwendet werden. Docker-Shim und CRI-Container sind zwei Beispiele für CRI-Shim. Mit Docker-Shim werden Container erstelltated mit Docker, der auf den Worker-Knoten installiert ist, und dann internalLy Docker verwendet einen Container zum Erstellenate und Container verwalten

Kube-Proxy

Kube-Proxy wird auf jedem Worker-Knoten als Netzwerk-Proxy ausgeführt. Es überwacht den API-Server für jeden Dienstpunkt creation oder Löschung. Für jeden Servicepunkt legt kube-proxy die Routen fest, damit er ihn erreichen kann.

Fazit

Ich hoffe, dies hilft Ihnen dabei, die Kubernetes-Architektur besser zu verstehen. Kubernetes Fähigkeiten sind immer gefragt. Wenn Sie lernen möchten, wie Sie Ihre Karriere aufbauen können, sollten Sie dies überprüfen Udemy natürlich.

Teilen:
  • Avi
    Autor
    Avi ist ein Technik-Enthusiast mit Fachkenntnissen in Trendtechnologien wie DevOps, Cloud Computing, Big Data und vielen mehr. Er ist Leidenschaftate über das Erlernen modernster Technologien und das Teilen seines Wissens mit anderen durch…

Danke an unsere Sponsoren

Weitere großartige Lektüre zu DevOps

Erstellen einer Architektur-Landebahn für das SAFe-Portfolio
Erstellen einer Architektur-Landebahn für das SAFe-Portfolio

Haben Sie sich jemals gefragt, wie es möglich ist, dass jedes Mal, wenn Ihr Product Owner ein neues Feature-Thema einbringt, die Antwort des Teams lautet, dass es etwas untersuchen muss?ate technische Möglichkeiten und Create Sie benötigen eine Form von Design, bevor sie sicher sein können, wie diese Funktion entwickelt werden soll? Dann liegt das höchstwahrscheinlich daran, dass bei Ihnen kein Architecture Runway vorhanden ist.

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.