Kubernetes

Kubernetes (auch bekannt als K8s) ist ein Orchestrierung für die Planung und Automatisierung der Deployment, Skalierung und Verwaltung von containerisierten Anwendungen. Ursprünglich von Google entwickelt, wird das Projekt heute von der Cloud Native Computing Foundation (CNCF) verwaltet.
Laut CNCF ist Kubernetes eine Mainstream-Technologie für die Ausführung verteilter Anwendungen in der Cloud . 96 % der Unternehmen nutzen oder evaluieren sie in ihrer Umfrage 2021. Unternehmen Nutzen von einer verbesserten scalability und Verfügbarkeit durch die automatische Skalierung von Ressourcen, der Übertragbarkeit von Infrastrukturen, die On-Premises oder in öffentlichen oder hybriden privaten Clouds gehostet werden, der Ausfallsicherheit, indem sichergestellt wird, dass Cluster immer funktionieren, und vielem mehr.
Um diese Vorteile zu bieten, führt Kubernetes Arbeitslasten aus, indem Container in Pods platziert werden, die auf Knoten in einem Cluster ausgeführt werden.
Container
Ein Container ist ein leichtgewichtiges, betriebsbereites Softwarepaket, das alles enthält, was für die Ausführung einer Anwendung erforderlich ist: den Code und die erforderliche Laufzeit, Anwendungs- und Systembibliotheken sowie andere Anwendungsabhängigkeiten. Container sind ähnlich wie virtuelle Maschinen (VMs), mit einem sehr wichtigen Unterschied. VMs virtualisieren auf der Hardwareebene, während Container auf der Ebene des Betriebssystems virtualisiert werden. Dadurch können Container sowohl über Clouds als auch über Betriebssysteme hinweg portiert werden.
Hülsen
Container werden in einem Pod ausgeführt, der kleinsten Ausführungseinheit in Kubernetes. Pods sind von Natur aus ephemer (vorübergehend). Wenn ein Pod (oder der Knoten, auf dem er ausgeführt wird) ausfällt, kann Kubernetes automatisch ein neues Replikat dieses Pods erstellen, um den Betrieb fortzusetzen.
Cluster
Ein Kubernetes ist die physische oder virtuelle Maschine in einem Cluster (eine Gruppe von Knoten), die Arbeitslasten für einen oder mehrere Container ausführt. Sein Zweck ist es, Rechen-, Netzwerk- und Speicherressourcen bereitzustellen.
Jeder Kubernetes enthält eine Container-Laufzeitumgebung, a Kubelet und einen Kube-Proxy:
- Eine Container-Laufzeitumgebung wie Docker, rkt und runC verwaltet den Lebenszyklus von Containern und erstellt, betreibt und zerstört sie nach Bedarf.
- Das Kubelet ist der Kubernetes , der mit der Container-Laufzeit interagiert, um Vorgänge wie das Starten, Stoppen und Warten von Containern durchzuführen.
- Kube-Proxy ist ein Netzwerk-Proxy und Lastausgleich, der das Netzwerk orchestriert, um Anfragen an die entsprechenden Pods weiterzuleiten.