Kubernetes wird als Container-Cluster "Scheduler / Orchestrator" in Rechnung gestellt, aber ich habe keine Ahnung, was dies bedeutet. Nachdem ich die Kubernetes-Site und das (vage) GitHub-Wiki gelesen habe, kann ich am besten feststellen, dass es irgendwie herausfindet, welche VMs verfügbar sind / Ihren Docker-Container ausführen können, und sie dann dort bereitstellt. Aber das ist nur meine Vermutung, und ich habe in ihrer Dokumentation keine konkreten Worte gesehen, um dies zu unterstützen.
Was genau ist Kubernetes und welche spezifischen Probleme löst es?
docker
kubernetes
smeeb
quelle
quelle
Antworten:
Der Zweck von Kubernetes besteht darin, die Organisation und Planung Ihrer Anwendung auf einer Maschinenflotte zu vereinfachen. Auf hoher Ebene ist es ein Betriebssystem für Ihren Cluster.
Grundsätzlich können Sie sich keine Gedanken darüber machen, auf welchem bestimmten Computer in Ihrem Rechenzentrum jede Anwendung ausgeführt wird. Darüber hinaus bietet es allgemeine Grundelemente für die Integritätsprüfung und Replikation Ihrer Anwendung auf diesen Computern sowie Dienste für die Verkabelung Ihrer Anwendung mit Mikrodiensten, sodass jede Schicht in Ihrer Anwendung von anderen Schichten entkoppelt ist, damit Sie sie skalieren / aktualisieren / warten können unabhängig.
Während es möglich ist, viele dieser Dinge in der Anwendungsschicht zu erledigen, sind solche Lösungen in der Regel einmalig und spröde. Es ist jedoch viel besser, Bedenken zu trennen, wenn ein Orchestrierungssystem sich Gedanken über die Ausführung Ihrer Anwendung macht und Sie sich Sorgen machen der Code, aus dem Ihre Anwendung besteht.
quelle
Wie Sie von seiner Github-Seite lesen :
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:
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.
quelle
Kubernetes bietet weitgehend die gleiche Funktionalität wie Infrastructure as a Service-APIs, zielt jedoch eher auf dynamisch geplante Container als auf virtuelle Maschinen und als Platform as a Service-Systeme ab, jedoch mit größerer Flexibilität, einschließlich:
Wenn Sie bereits andere Mechanismen für die Diensterkennung, die geheime Verteilung, den Lastausgleich, die Überwachung usw. verwenden, können Sie diese natürlich weiterhin verwenden. Wir möchten jedoch den Übergang von vorhandenen IaaS- und PaaS-Systemen zu Kubernetes vereinfachen, indem wir diese bereitstellen Funktionalität.
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do
quelle