Der Ursprung und die Entwicklung von Kubernetes und die Merkmale jeder Version

Kubernetes (oft als K8s bezeichnet) ist eine Open-Source-Container-Orchestrierungs- und Verwaltungsplattform, die zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containeranwendungen dient. Es entstand aus Borg, einem internen Projekt bei Google, und ist das Produkt der jahrelangen Erfahrung und Technologie von Google im groß angelegten Container-Workload-Management. Im Folgenden finden Sie einen 10.000 Wörter langen Artikel über den Ursprung und die Entwicklung von Kubernetes.

Ursprung
Der Ursprung von Kubernetes lässt sich bis ins Jahr 2014 zurückverfolgen, als sich die Docker-Container-Technologie rasant entwickelte. Um containerisierte Anwendungen besser verwalten zu können, stellte Google der Open-Source-Community das Konzept von Borg, seinem intern verwendeten Container-Orchestrierungssystem, vor. Sie haben das Kubernetes-Projekt veröffentlicht, das darauf abzielt, eine einheitliche und portable Bereitstellungs- und Verwaltungsplattform für Cloud-native Anwendungen bereitzustellen.

Designprinzipien
Zu den Designprinzipien von Kubernetes gehören Portabilität, Skalierbarkeit und Selbstheilung. Es bietet eine flexible und skalierbare Architektur, die auf verschiedenen Cloud-Plattformen, virtuellen Maschinenumgebungen und physischen Maschinenclustern ausgeführt werden kann. Kubernetes nutzt eine Reihe von Kernkonzepten wie Pod, Service, Replication Controller usw. sowie deklarative Konfiguration und automatisiertes Management, um eine hohe Verfügbarkeit, Elastizität und Skalierbarkeit von Anwendungen sicherzustellen.

Entwicklungsgeschichte
Seit der ersten Veröffentlichung von Kubernetes hat es sich schnell zum De-facto-Standard für die Container-Orchestrierung und -Verwaltung entwickelt und eine breite Akzeptanz und Unterstützung erfahren. Hier sind einige wichtige Meilensteine ​​und Entwicklungsstufen von Kubernetes:

Veröffentlichung der ersten Version (2014): Die Veröffentlichung der ersten Version von Kubernetes erregte die Aufmerksamkeit und Beteiligung der Open-Source-Community und entwickelte sich zu einem führenden Unternehmen im Bereich der Container-Orchestrierung.

Werden Sie ein CNCF-Projekt (2015): Kubernetes wurde von der Cloud Native Computing Foundation (CNCF) als Top-Level-Projekt akzeptiert, was seine Entwicklung und Community-Erweiterung beschleunigt.

Veröffentlichungen stabiler Versionen (2015–2016): Kubernetes entwickelt und veröffentlichte 2015 und 2016 weiterhin eine Reihe stabiler Versionen, um Benutzern zuverlässigere und ausgereiftere Funktionen und Features bereitzustellen.

Erweiterung des Ökosystems (nach 2016): Das Kubernetes-Ökosystem wird weiter erweitert und umfasst verschiedene Tools, Plug-Ins und Dienste von Drittanbietern, um den Anforderungen verschiedener Benutzer gerecht zu werden, z. B. Helm, Prometheus, Istio usw.

Windows-Container-Unterstützung (ab 2016): Kubernetes beginnt mit der Unterstützung der Ausführung von Containeranwendungen auf Windows-Betriebssystemen, was seinen Anwendungsbereich erweitert und mehr Entwicklerinteresse weckt.

Kubernetes-Entwicklungsgeschwindigkeit und Community-Aktivität (nach 2017): Die Entwicklung von Kubernetes beschleunigt sich weiter und die Community-Aktivität ist extrem hoch. Der von CNCF jedes Jahr veröffentlichte Umfragebericht zeigt, dass immer mehr Organisationen und Unternehmen Kubernetes in Produktionsumgebungen verwenden.

Kubernetes 1.0 Release (2018): Kubernetes veröffentlicht Version 1.0 und markiert damit einen wichtigen Meilenstein in seiner Reife und Stabilität.

Multi-Cluster-Management und Hybrid-Cloud-Unterstützung (nach 2019): Kubernetes beginnt mit der Bereitstellung von Multi-Cluster-Management und Hybrid-Cloud-Unterstützung, sodass Benutzer eine einheitliche Containerverwaltung über mehrere Cloud-Plattformen und geografische Standorte hinweg durchführen können.

Das cloudnative Ökosystem von Kubernetes (nach 2020): Kubernetes ist zum Eckpfeiler der Entwicklung und Bereitstellung cloudnativer Anwendungen geworden, und sein cloudnatives Ökosystem entwickelt sich weiter, einschließlich cloudnativer Datenbanken, Service Meshes, Sicherheitstools usw.

Versionsfunktionen

Kubernetes 1.0: 2015 veröffentlicht und markiert die erste stabile Version von Kubernetes. In dieser Version werden Kernkonzepte und Grundfunktionen wie Pod, Service, Replikationscontroller usw. vorgestellt.

Kubernetes 1.4: Es wurde 2016 veröffentlicht und führte viele wichtige Funktionen ein, darunter dynamisches Speicher-Volume-Management, Netzwerkrichtlinien und stabile horizontale Autoskalierung.

Kubernetes 1.6: Es wurde 2017 veröffentlicht und konzentriert sich auf Sicherheits- und Stabilitätsverbesserungen, wie z. B. rollenbasierte Zugriffskontrolle (RBAC), Zertifikatsverwaltung und Verbesserungen der Skalierbarkeit des Planers.

Kubernetes 1.9: Es wurde 2017 veröffentlicht und führte Skalierbarkeits- und Stabilitätsverbesserungen ein, darunter eine Erweiterung der Clustergröße, Verbesserungen der StatefulSet-Stabilität und externe Zulassungscontroller.

Kubernetes 1.12: 2018 veröffentlicht, mit Schwerpunkt auf Verbesserungen der Beobachtbarkeit und Benutzerfreundlichkeit. Diese Version führt Funktionen wie benutzerdefinierte Ressourcendefinitionen (CRD), Cluster-Ereignisanzeige und Ressourcenkontingente ein.

Kubernetes 1.16: 2019 veröffentlicht, konzentriert es sich auf die Lösung von Cluster-Betriebs- und Wartungsproblemen. Diese Version führt Funktionen wie automatisierte Kubernetes-Cluster-Upgrades, Scheduler-Optimierung und Knotentopologieverwaltung ein.

Kubernetes 1.18: Veröffentlicht im Jahr 2020 mit Schwerpunkt auf Beobachtbarkeit und persistenter Speicherung. In dieser Version werden mehrere Funktionen wie Container Storage Interface (CSI) und Dashboard-Verbesserungen eingeführt.

Kubernetes 1.20: Veröffentlicht im Jahr 2020 mit Schwerpunkt auf Skalierbarkeit und Sicherheit. Diese Version führt Kubernetes Storage Versioning v3 und eine bessere Unterstützung für IPv6 ein.

Kubernetes 1.22: Veröffentlicht im Jahr 2021 und konzentriert sich auf die Verbesserung der Entwicklererfahrung und der Betriebseffizienz. Diese Version führt den Kubernetes-Verteilungskanal, die dynamische Kubelet-Konfiguration und die neue Protokollspeicherarchitektur ein.

Als Open-Source-Projekt ist die Entwicklung von Kubernetes auf die Beiträge und die Unterstützung einer großen globalen Community angewiesen. Es wird erwartet, dass sich Kubernetes mit zunehmender Beliebtheit und Nachfrage von Cloud-nativen Anwendungen weiterentwickeln und weiterentwickeln wird, um Benutzern innovativere Funktionen und Lösungen zu bieten.

おすすめ

転載: blog.csdn.net/weixin_43784341/article/details/131461347