Wie Sie von seiner Github-Seite lesen :
Kubernetes ist ein Open Source-System zur Verwaltung containerisierter Anwendungen auf mehreren Hosts und bietet grundlegende Mechanismen für die Bereitstellung, Wartung und Skalierung von Anwendungen.
Kubernetes ist:
lean: lightweight, simple, accessible
portable: public, private, hybrid, multi cloud
extensible: modular, pluggable, hookable, composable
self-healing: auto-placement, auto-restart, auto-replication
Kubernetes baut auf anderthalb Jahrzehnten Erfahrung bei Google auf, in der Produktions-Workloads in großem Maßstab ausgeführt werden, kombiniert mit den besten Ideen und Praktiken der Community.
Für mich ist Kubernetes ein Container-Orchestrierungs-Tool von Google. Aufgrund seines Designs können Sie die Kompatibilität mit jeder Container-Engine implementieren, aber ich denke, jetzt ist sie auf Docker beschränkt. Es gibt einige wichtige Konzepte in seiner Architektur:
Kubernetes arbeitet mit folgenden Konzepten:
Cluster sind die Rechenressourcen, auf denen Ihre Container aufgebaut sind. Kubernetes können überall laufen! Anweisungen zu verschiedenen Diensten finden Sie in den Anleitungen für die ersten Schritte.
Pods sind eine kolokalisierte Gruppe von Docker-Containern mit gemeinsam genutzten Volumes. Sie sind die kleinsten bereitstellbaren Einheiten, die mit Kubernetes erstellt, geplant und verwaltet werden können. Pods können einzeln erstellt werden. Es wird jedoch empfohlen, einen Replikationscontroller zu verwenden, auch wenn Sie einen einzelnen Pod erstellen. Mehr über Pods.
Replikationscontroller verwalten den Lebenszyklus von Pods. Sie stellen sicher, dass eine bestimmte Anzahl von Pods zu einem bestimmten Zeitpunkt ausgeführt wird, indem sie Pods nach Bedarf erstellen oder beenden. Weitere Informationen zu Replikationscontrollern.
Die Dienste bieten einen einzigen, stabilen Namen und eine Adresse für eine Reihe von Pods. Sie fungieren als Grundlastausgleicher. Mehr über Dienstleistungen.
Beschriftungen werden verwendet, um Gruppen von Objekten basierend auf Schlüssel: Wert-Paaren zu organisieren und auszuwählen. Mehr über Etiketten.
Sie haben also eine Gruppe von Computern, die einen Cluster bilden, auf dem Ihre Container ausgeführt werden. Sie können auch eine Gruppe von Containern definieren, die einen Dienst bereitstellen, ähnlich wie Sie es mit anderen Tools wie fig tun (dh: webapp pod kann ein Rails-Server und eine Postgres-Datenbank sein). Sie haben auch andere Tools, um sicherzustellen, dass mehrere Container / Pods eines Dienstes gleichzeitig ausgeführt werden, ein Schlüsselwertspeicher, eine Art integrierter Load Balancer ...
Wenn Sie etwas über Coreos wissen, ist es eine sehr ähnliche Lösung, aber von Google. Algo Kubernetes hat eine gute Integration mit Google Cloud Engine.