Was ist Kubernetes?

Kubernetes ist ein Open-Source-Container-Management-System, das in großen Unternehmen in verschiedenen vertikalen Branchen zur Durchführung einer geschäftskritischen Aufgabe eingesetzt wird. Zu seinen Fähigkeiten gehören:

  • Verwalten von Containersätzen
  • Bereitstellung von Tools für die Bereitstellung von Anwendungen
  • Skalieren von Anwendungen bei Bedarf
  • Verwalten von Änderungen an vorhandenen containerisierten Anwendungen
  • Hilft bei der Optimierung der grundlegenden Hardwarenutzung unter Ihrem Container
  • Lassen Sie die Anwendungskomponente neu starten und nach Bedarf auf dem System wechseln.

Kubernetes bietet viel mehr des grundlegenden Frameworks, sodass Benutzer Anwendungsframeworktypen, Sprachen, Überwachungs- und Protokollierungstools und andere Tools ihrer Wahl auswählen können.

Kubernetes Architektur: Wie funktioniert das?

Master-Slave-Architektur und Komponente von Kubernetes:

Kubernetes Meister:
Es ist die primäre Steuereinheit, die systemweite Workloads und Kommunikation verwaltet. Jede seiner Komponenten verfügt über einen anderen Prozess, der auf einem einzelnen Masterknoten oder mehreren Masterknoten ausgeführt werden kann.

Komponente:

  • Etcd Storage : Ein vom CoreOS-Team entwickelter Open-Source-Schlüsselwert-Datenspeicher, der für alle Knoten im Cluster zugänglich ist. Kubernetes verwendet "Etcd", um die Konfigurationsdaten des Clusters zu speichern, um den Gesamtzustand des Clusters jederzeit darzustellen.
  • API-Server : Ein API-Server ist eine zentralisierte Verwaltungsentität, die REST-Anforderungen für Änderungen empfängt und als Frontend für den Steuerelementsatz fungiert. Darüber hinaus ist dies das einzige, was mit dem Etcd-Cluster kommuniziert und sicherstellt, dass die Daten in Etcd gespeichert werden.
  • Scheduler : Hilft bei der Planung von Partitionen in verschiedenen Knoten basierend auf der Ressourcennutzung und entscheidet, für welchen Dienst und wo bereitgestellt werden soll.
  • Controller-Manager : Führt eine Reihe verschiedener Controllervorgänge im Hintergrund aus, um den freigegebenen Status des Clusters zu bearbeiten und eine Routineaufgabe auszuführen. Wenn Änderungen am Dienst vorgenommen werden, erkennt der Controller die Änderung und beginnt mit der Arbeit am neuen angeforderten Status.

Worker-Knoten :
Bu, auch als Kubernetes oder Minion-Knoten bezeichnet, umfasst die Kommunikation zwischen der Verwaltung des Netzwerks zwischen Containern wie Docker und dem Masterknoten, indem Containern Ressourcen planmäßig zugewiesen werden.

  • Kubelet: Kubelet stellt sicher, dass alle Container im Knoten funktionieren und sich in einem gesunden Zustand befinden. Kubelet überwacht den Zustand einer Kapsel, wenn sie sich nicht im gewünschten Zustand befindet. Wenn ein Knoten ausfällt, beobachtet ein Replikationscontroller diese Änderung und startet die Bereiche in einem anderen fehlerfreien Bereich.
  • Container : Es ist die niedrigste Ebene des Microservices, die im Fach platziert ist und erfordert eine externe IP-Adresse, um den externen Prozess anzuzeigen.
  • Kube Proxy : Fungiert als Netzwerkproxy und Load Balancer. Darüber hinaus leitet sie die Anforderung an die richtigen Bereiche über isolierte Netzwerke in einem Cluster weiter.
  • cAdvisor : Jeder Knoten fungiert als Assistent, der für die Überwachung und Erfassung von Daten zu Ressourcennutzungs- und Leistungskriterien verantwortlich ist.

Vorteile von Kubernetes

Portable und Open Source

Kubernetes kann Container in einer oder mehreren öffentlichen Cloud-Umgebungen, virtuellen Maschinen oder mageren Metallen ausführen, was bedeutet, dass sie in jeder Infrastruktur bereitgestellt werden können. Darüber hinaus ist es über viele Plattformen hinweg kompatibel und macht die Multi-Cloud-Strategie hochflexibel und nutzbar.

Workload Skalierbarkeit

  • Horizontale Infrastrukturskalierung: Vorgänge werden auf der ebeneebenen Serverebene ausgeführt, um horizontale Skalierung zu implementieren. Neue Server können einfach hinzugefügt oder entfernt werden.
  • AutoScaling : Abhängig von der Verwendung von CPU-Ressourcen oder anderen Anwendungsmetriken können Sie die Anzahl der ausgeführten Container ändern.
  • Manuelle Skalierung : Sie können die Anzahl der ausgeführten Container manuell über einen Befehl oder eine Schnittstelle skalieren.
  • Replikationscontroller: Der Replikationscontroller stellt sicher, dass der Cluster über eine angegebene Anzahl äquivalenter Partitionen in einem ausgeführten Zustand verfügt. Wenn zu viele Bereiche vorhanden sind, kann der Replikationscontroller die zusätzlichen Bereiche entfernen oder umgekehrt.

Hohe Verfügbarkeit

Kubernetes kann die Verfügbarkeit von Anwendungen und Infrastruktur verarbeiten.

  • Zustandskontrollen : Kubernetes überprüft kontinuierlich den Status von Modi und Containern, um sicherzustellen, dass die Anwendung nicht fehlschlägt. Kubernetes bietet die Möglichkeit der Selbstheilung und des automatischen Austauschs für den Fall, dass eine Kapsel aufgrund eines Fehlers zusammenbricht.
  • Datenverkehrsrouting und Lastenausgleich: Der Kubernetes-Load Balancer verteilt die Last auf mehrere Lasten, sodass Sie Ressourcen während der Datenverkehrs- oder Stapelverarbeitung schnell ausgleichen können.

Entwickelt für die Bereitstellung:

Container kann den Prozess des Erstellens, Testens und Veröffentlichens von Software beschleunigen und umfasst:

  • Automatische Präsentation und Feedback: Kubernetes verwaltet die neue Version und Updates für Ihre App ohne Unterbrechung, während gleichzeitig der Zustand während des Rollouts überwacht wird. Wenn während des Prozesses ein Fehler auftritt, wird er automatisch zurückgezogen.
  • Canary Deployment: Kubernetes testet die Produktion der neuen Bereitstellung und der vorherigen Version parallel, d. h. vor dem Wachstum der neuen Bereitstellung und gleichzeitiger Skalierung der vorherigen Bereitstellung.
  • Programmiersprache und Framework-Unterstützung : Kubernetes, Java, .NET, Php, Javascript, etc. Es unterstützt viele der Programmiersprachen und Frameworks wie und hat auch große Unterstützung von der Entwicklungsgemeinschaft erhalten. Wenn eine Anwendung in einem Container ausgeführt werden kann, kann sie auch in Kubernetes ausgeführt werden.

Kubernetes Sicherheit

Kubernetes bietet DNS-Management, Ressourcenüberwachung, Protokollierung, Speicherregulierung und behandelt auch Sicherheit als eine der wichtigsten Dinge. Beispielsweise wird sichergestellt, dass Informationen wie Kennwörter oder ssh-Schlüssel sicher in Kubernetes-Geheimnissen gespeichert werden.

Kubernetes und Staatscontainer

Kubernetes StatefulSets stellt Ressourcen wie Volumes, stabile Netzwerk-IDs und Sequenzverzeichnisse von 0 bis N bereit, um den Container mit dem Status zu behandeln. Volume ist ein wichtiges Feature, mit dem wir die staatlich informierte Anwendung ausführen können. Die beiden Haupttypen der unterstützten Volumes sind:

  • Ephermalspeichervolumen:
    Die ephermale Datenspeicherung unterscheidet sich von Docker. In Kubernetes werden alle Container berücksichtigt, die innerhalb des Bereichs ausgeführt werden, und Daten werden im Container gespeichert. Wenn die Scheiben jedoch getötet werden, wird der Ton automatisch entfernt.
  • Persistenter Speicher:
    Hier bleiben die Daten lebenslang. Wenn der Bereich stirbt oder auf einen anderen Knoten verschoben wird, bleiben diese Daten erhalten, bis sie vom Benutzer gelöscht werden.

Reale Anwendungsfälle von Kubernetes

  • Pokémon Go — Online-Multiplayer ist eines der beliebtesten Spiele, die die Macht von Kubernetes demonstriert. Vor seiner Veröffentlichung wurde vernünftigerweise erwartet, dass dieses Spiel das meistdiskutierte Spiel sein würde. Nach dem Start erhielt es jedoch 50-mal mehr Verkehr als erwartet. Mit Kubernetes konnte Pokémon Go hoch skalieren, um mit der unerwarteten Nachfrage Schritt zu halten.
  • Pinterest — Pinterest ist eine sehr beliebte Social-Networking-Plattform, die sich zu 1000 Microservices entwickelt hat und über eine Vielzahl von Tools und Plattformen verfügt. Das Unternehmen wollte den schnellsten Produktionspfad nutzen, ohne sich um die Infrastruktur zu kümmern. Das Team suchte nach einer Containerbearbeitungsplattform wie Kubernetes, um die gesamte Bereitstellung und Verwaltung komplexer Infrastrukturen zu vereinfachen. Nach der Bereitstellung von kubernetes verkürzte das Unternehmen die Kompilationszeiten und die Produktivität erreichte einen Höchststand.

Ergebnis

Bald entwickelte sich Kubernetes zu einem wirtschaftlichen Kraftpaket. Da es eine Vielzahl von Vorteilen bietet, streben viele Unternehmen jeder Größe danach, Produkte und Dienstleistungen zu entwickeln, um einem ständig wachsenden Bedarf gerecht zu werden. Kubernetes ist in der Lage, sowohl in öffentlichen als auch in privaten Clouds zu arbeiten, was es zu einem der beliebtesten Tools für Unternehmen macht, die mit Hybrid Clouds arbeiten. Wenn dies so weitergeht, könnten mehr Unternehmen in Kubernetes und das Container-Management-System investieren.

  Zitat

KARABAY A, 2021 . Was ist Kubernetes ?,

https://www.karabayyazilim.com/blog/diger/kubernetes-nedir-2021-03-24-191423

(Abgerufen am 24. März 2021).


  Diesen Beitrag teilen

Kommentare (0)

Kommentar

Abonnieren
Melden Sie sich für den E-Mail-Newsletter an, um als Erster über meine Blogbeiträge Bescheid zu wissen