Kubernetes Einführung für Anfänger

Ich höre viel über Kubernetes, bin mir aber nicht sicher, was sie sind?


Was ist Kubernetes??

Kubernetes ist ein Open-Source-Tool, das sich um die Container-Orchestrierung kümmert. Es automatisiert die Bereitstellung von Containern, die kontinuierliche Skalierung und De-Skalierung, den Lastausgleich von Containern usw..

Kubernetes GeekFlare

Google hat sich zunächst entwickelt Kubernetes on the Go Programmiersprache.

Derzeit ist es Marktführer bei der Orchestrierung von Containern. Kubernetes ist eine ideale Plattform für das Hosting von Microservices-Anwendungen, die dynamisch skaliert werden. Wenn Sie in einer Produktionsumgebung arbeiten, ist Kubernetes die am meisten bevorzugte und sicherere Plattform für die Container-Orchestrierung.

Da Sie in einer Produktionsumgebung keine Ausfallzeiten erwarten, sollte Ihr Cluster immer betriebsbereit sein.

Mit Google Cloud Platform (GCP) können Sie Kubernetes mit nur wenigen Klicks starten. Es wird von anderen Cloud-Anbietern wie AWS und Azure unterstützt. Außerdem stehen mehrere verwaltete Kubernetes-Plattformen zur Verfügung.

Warum Kubernetes?

Früher war ein Kampf zwischen Entwicklern und Testern eine häufige Sache.

Früher waren die Umgebungen für sie unterschiedlich. Was auf dem Entwicklersystem funktionierte, lief nicht auf dem Testersystem.

Jetzt, da die meisten Organisationen Container verwenden, treten die Probleme, die aufgrund von Unterschieden in der Umgebung auftreten, nicht mehr auf.

Das Organisieren und Ausführen mehrerer Container ist jedoch auch keine leichte Aufgabe. Wenn Sie an dynamischen Anwendungen arbeiten und diese vergrößern / verkleinern, ist die Anzahl der Container normal. Das manuelle Ausführen solcher Aufgaben kann komplex und riskant sein. Daher ist ein Container-Orchestrierungs-Tool erforderlich, weshalb Kubernetes benötigt wird.

Kubernetes Funktionen

Es gibt viele, aber die folgenden sind einige der besten.

# Automatisches Verpacken von Behältern

Kubernetes verpackt Ihre Anwendung und platziert Container automatisch basierend auf ihren Anforderungen und den verfügbaren Ressourcen

# Serviceerkennung und Lastausgleich

Kubernetes weist den Containern, die logische Operationen ausführen, automatisch ihre IP-Adressen und einen DNS-Namen für Container zu. Die Lastausgleichsfunktion ist auch zwischen den Containern vorhanden.

# Speicher-Orchestrierung

Kubernetes montiert automatisch das Speichersystem Ihrer Wahl. Dies kann entweder ein lokaler Speicher oder ein öffentlicher Cloud-Anbieter wie AWS sein.

# Selbstheilung

Immer wenn Kubernetes feststellt, dass einer Ihrer Container ausgefallen ist, wird dieser Container von selbst neu gestartet. Außerdem wird anstelle des abgestürzten Containers ein neuer Container erstellt. Falls Ihr Knoten ausfällt, werden die auf diesem Knoten ausgeführten Container auf einem anderen laufenden Knoten im Cluster gestartet.

# Horizontale Skalierung

Mit einem einfachen Befehl können Sie Ihre Anwendungen schnell vergrößern und verkleinern. Der einfache Befehl kann auf der CLI oder über das Kubernetes-Dashboard ausgeführt werden. Eine automatische Skalierung ist ebenfalls möglich. Abhängig von der CPU-Auslastung werden Ihre Container automatisch vergrößert oder verkleinert.

# Automatisches Rollback und Rollout

Immer wenn Ihre Anwendung aktualisiert wird, führt Kubernetes diese Änderungen und Aktualisierungen der Anwendung oder ihrer Konfigurationen schrittweise durch. Nicht alle Instanzen werden gleichzeitig aktualisiert, um eine hohe Verfügbarkeit zu gewährleisten. Wenn etwas schief geht, wird Kubernetes diese Änderungen sofort rückgängig machen.

Kubernetes-Terminologien

Bevor Sie sich die Hände schmutzig machen, müssen Sie einige in Kubernetes regelmäßig verwendete Terminologien kennen.

# Pod

Es repräsentiert einen oder mehrere Container, die in einem Cluster ausgeführt werden.

# Bedienung

Eine abstrakte Möglichkeit, auf Pod / Anwendung zuzugreifen.

# Namespace

Es wird verwendet, um Namenskollisionen innerhalb eines Clusters zu entfernen. Es unterstützt mehrere virtuelle Cluster auf demselben physischen Cluster.

# Knoten

Kubernetes Arbeitermaschine.

# Cluster

Bestehend aus einer Gruppe von Knoten, auf denen containerisierte Anwendungen auf Kubernetes ausgeführt werden.

# Anmerkung

Ein Etikett zum Speichern von Daten, die von Ressourcen benötigt werden.

# Lautstärke

Es ist das Datenverzeichnis, auf das Container im Pod zugreifen.

# ReplicaSet

Mehrere Repliken von laufenden Pods.

# Etikette

Geben Sie Kubernetes-Objekten einen Namen, damit sie systemweit identifiziert werden können.

# Kubelet

Es ist ein Agent, der auf jedem Knoten ausgeführt wird und prüft, ob die Container in den Pods ausgeführt werden.

# Kubectl

Befehlszeilenprogramm zur Interaktion mit dem Kubernetes-API-Server.

# Kube-Proxy

Netzwerkproxy, der alle Netzwerkregeln auf jedem Knoten im Cluster enthält.

Kubernetes und Docker

Jetzt denken Sie vielleicht, wie sich Kubernetes von Docker unterscheidet. Der Satz Kubernetes vs. Docker kann irreführend sein.

Docker ist eine Plattform, die Betriebssysteme, Bibliotheken und Anwendungen in einem Container verpackt. Lassen Sie mich Ihnen sagen, dass Docker dasselbe tut, was es in Kubernetes tun soll. Wenn Sie jedoch nur mit Docker arbeiten, ist alles manuell. Sie müssen Container manuell starten und stoppen. Aber mit Kubernetes wird alles automatisiert.

Kubernetes kann Pods mit Containern planen. Kubelet weist Docker dann an, Container zu starten oder zu stoppen. Kubelet in Kubernetes ist dafür verantwortlich, diese Container zu überwachen und ihre Informationen auf dem Masterknoten zu sammeln. Der grundlegende Unterschied besteht also darin, dass Administratoren Docker nicht sagen, was zu tun ist. In Kubernetes ist alles automatisiert.

Ein weiteres Tool für die Container-Orchestrierung ist Docker Swarm. Was ist der Unterschied zwischen ihnen??

Kubernetes vs. Docker Swarm

KubernetesHafenschwarm
Die Installation ist komplexDie Installation ist einfach
Größere Open Source CommunityKleinere Community im Vergleich zu Kubernetes
Kann problemlos Hunderte von Containern orchestrierenGut für die Orchestrierung von 10-20 Containern
Das Kubernetes Dashboard bietet eine grafische BenutzeroberflächeKeine GUI
Unterstützt die automatische SkalierungUnterstützt keine automatische Skalierung
Unterstützt fortlaufende Updates mit automatischem RollbackUnterstützt fortlaufende Updates, jedoch kein automatisches Rollback
Protokollierung und Überwachung verfügbar eingebautBenötigt Drittanbieter wie ELK für die Protokollierung und Überwachung
Kann das Volumen mit Containern im selben Pod teilenKann das Volume mit jedem Container im Cluster teilen

Fazit

Ich hoffe, Sie haben jetzt ein grundlegendes Verständnis dafür, was Kubernetes ist und wie es hilft. Wenn Sie sich für DevOps interessieren oder darüber nachdenken, sich darauf einzulassen, würde ich vorschlagen, dies zu tun fantastischer Udemy-Kurs, um Kubernetes zu lernen.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map