Kubernetes: Unterschied zwischen den Versionen

Aus InkluPedia
K (t)
(link)
Zeile 17: Zeile 17:
}}
}}
[[Datei:Kubernetes.png|mini|hochkant=1.6|Architekturdiagramm von Kubernetes]]
[[Datei:Kubernetes.png|mini|hochkant=1.6|Architekturdiagramm von Kubernetes]]
'''Kubernetes''' (kurz '''K8s''') ist ein Open-Source-System um Container wie [[Docker (Software)|Docker]] oder CoreOS (rkt) automatisch zu verteilen, zu skalieren und zu verwalten. Das System wurde ursprünglich von [[Google Inc.|Google]] entwickelt und wird von der Cloud Native Computing Foundation (CNCF) der Linux Foundation verwaltet. Weitere Partner sind unter anderem AT&T, Box, Cisco, Cloud Foundry Foundation, CoreOS, Cycle Computing, Docker, eBay, Goldman Sachs, Huawei, IBM, Intel, Joyent, Kismatic, Mesosphere, Red Hat, Switch SUPERNAP, Twitter, Univa, VMware und Weaveworks.<ref name="techcrunch">[https://techcrunch.com/2015/07/21/as-kubernetes-hits-1-0-google-donates-technology-to-newly-formed-cloud-native-computing-foundation-with-ibm-intel-twitter-and-others/ As Kubernetes Hits 1.0, Google Donates Technology To Newly Formed Cloud Native Computing Foundation | TechCrunch, Jul 21, 2015]</ref>
'''Kubernetes''' (kurz '''K8s''') ist ein Open-Source-System um Container wie [[Docker (Software)|Docker]] oder CoreOS (rkt) automatisch zu verteilen, zu skalieren und zu verwalten. Das System wurde ursprünglich von [[Google Inc.|Google]] entwickelt und wird von der Cloud Native Computing Foundation (CNCF) der Linux Foundation verwaltet. Weitere Partner sind unter anderem AT&T, Box, Cisco, Cloud Foundry Foundation, CoreOS, Cycle Computing, Docker, eBay, Goldman Sachs, Huawei, IBM, Intel, Joyent, Kismatic, Mesosphere, Red Hat, Switch SUPERNAP, [[Twitter]], Univa, VMware und Weaveworks.<ref name="techcrunch">[https://techcrunch.com/2015/07/21/as-kubernetes-hits-1-0-google-donates-technology-to-newly-formed-cloud-native-computing-foundation-with-ibm-intel-twitter-and-others/ As Kubernetes Hits 1.0, Google Donates Technology To Newly Formed Cloud Native Computing Foundation | TechCrunch, Jul 21, 2015]</ref>


Der Quellcode von Kubernetes steht auf GitHub zur Verfügung.<ref>[https://github.com/kubernetes/kubernetes/ GitHub - kubernetes/kubernetes: Production-Grade Container Scheduling and Management]</ref> Kubernetes ist größtenteils in Googles Programmiersprache Go implementiert und steht unter der Apache License 2.0.<ref name="prolinux16">[http://www.pro-linux.de/news/1/24603/kubernetes-16-ver%C3%B6ffentlicht.html Kubernetes 1.6 veröffentlicht - Pro-Linux, 30. März 2017]</ref> Der Name ''Kubernetes'' stammt aus dem Griechischen und bedeutet etwa ''Steuermann'' oder ''Pilot''.<ref name="what">[https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ What is Kubernetes? - Kubernetes]</ref> Mit Plattformen wie den Open-Source-Plattformen OpenFaaS, Fission, OpenWhisk und Kubeless lassen sich FaaS-Anwendung (Function as a Service) mit Kubernetes kombinieren.<ref>[https://www.heise.de/developer/artikel/Kubeless-FaaS-auf-Kubernetes-4235153.html Kubeless – FaaS auf Kubernetes | heise Developer, 30.11.2018]</ref>
Der Quellcode von Kubernetes steht auf GitHub zur Verfügung.<ref>[https://github.com/kubernetes/kubernetes/ GitHub - kubernetes/kubernetes: Production-Grade Container Scheduling and Management]</ref> Kubernetes ist größtenteils in Googles Programmiersprache Go implementiert und steht unter der Apache License 2.0.<ref name="prolinux16">[http://www.pro-linux.de/news/1/24603/kubernetes-16-ver%C3%B6ffentlicht.html Kubernetes 1.6 veröffentlicht - Pro-Linux, 30. März 2017]</ref> Der Name ''Kubernetes'' stammt aus dem Griechischen und bedeutet etwa ''Steuermann'' oder ''Pilot''.<ref name="what">[https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ What is Kubernetes? - Kubernetes]</ref> Mit Plattformen wie den Open-Source-Plattformen OpenFaaS, Fission, OpenWhisk und Kubeless lassen sich FaaS-Anwendung (Function as a Service) mit Kubernetes kombinieren.<ref>[https://www.heise.de/developer/artikel/Kubeless-FaaS-auf-Kubernetes-4235153.html Kubeless – FaaS auf Kubernetes | heise Developer, 30.11.2018]</ref>

Version vom 29. März 2019, 06:23 Uhr

Kubernetes
Logo
Maintainer Cloud Native Computing Foundation
Entwickler Google
Programmiersprache Go
Kategorie Container-Orchestrierung
Lizenz Apache License 2.0
Deutsch nein
Website https://kubernetes.io/
Architekturdiagramm von Kubernetes

Kubernetes (kurz K8s) ist ein Open-Source-System um Container wie Docker oder CoreOS (rkt) automatisch zu verteilen, zu skalieren und zu verwalten. Das System wurde ursprünglich von Google entwickelt und wird von der Cloud Native Computing Foundation (CNCF) der Linux Foundation verwaltet. Weitere Partner sind unter anderem AT&T, Box, Cisco, Cloud Foundry Foundation, CoreOS, Cycle Computing, Docker, eBay, Goldman Sachs, Huawei, IBM, Intel, Joyent, Kismatic, Mesosphere, Red Hat, Switch SUPERNAP, Twitter, Univa, VMware und Weaveworks.[1]

Der Quellcode von Kubernetes steht auf GitHub zur Verfügung.[2] Kubernetes ist größtenteils in Googles Programmiersprache Go implementiert und steht unter der Apache License 2.0.[3] Der Name Kubernetes stammt aus dem Griechischen und bedeutet etwa Steuermann oder Pilot.[4] Mit Plattformen wie den Open-Source-Plattformen OpenFaaS, Fission, OpenWhisk und Kubeless lassen sich FaaS-Anwendung (Function as a Service) mit Kubernetes kombinieren.[5]

Geschichte

Kubernetes wurde von Google im Jahr 2014 gestartet und basiert auf Googles 15-jähriger Erfahrung mit ihrer Lösung namens Borg.[4] Eric Brewer von Google stellte Kubernetes im Juni 2014 auf einer Konferenz in San Francisco vor.[6] Am 6. April 2015 kündigte CoreOS Inc. Tectonic an.[7] CoreOS Inc. stellte mit Tectonic ein Werkzeug zur Verwaltung von Container-Flotten vor. Kubernetes übernimmt dabei die Orchestrierung. Google stellte über seine eigene Risikokapital-Gesellschaft Google Ventures für Tectonic 12 Millionen US-Dollar bereit, weitere acht Millionen steuern andere Investoren bei.[8] Am 21. Juli 2015 wurde Kubernetes 1.0 veröffentlicht.[1]

Der britische Linux-Distributor Canonical stellte am 27. September 2016 eine kommerziell unterstützte Distribution mit Kubernetes vor.[9] Am 14. Dezember 2016 wurde Kubernetes in der Version 1.5 veröffentlicht.[10] StatefulSet (früher PetSet) und PodDisruptionBudget erreichten mit Version 1.5 den Betastatus. Funktionalitäten wie die Unterstützung von Windows Server 2016-Nodes mit Windows Server Containers wurden als Alpha veröffentlicht.[11] Am 28. März 2017 wurde Kubernetes in der Version 1.6 veröffentlicht. Ab Version 1.6 unterstützt Kubernetes dank etcd v3 von CoreOS Cluster mit bis zu 5.000 Knoten und etwa 150.000 Pods. Mit Federeration können mehrere Cluster über einen API-Endpunkt angesprochen werden. Die Cluster können sich auf mehrere Rechenzentren verteilen. Die rollenbasierte Zugriffskontrolle (RBAC) und das Kommandozeilenwerkzeug kubefed wurden als Beta veröffentlicht. StorageClass und die dynamische Volume-Provisionierung sind mit Version 1.6 als stabil gekennzeichnet. Die Version 1.6 installiert standardmäßig StorageClass-Objekte für AWS, Azure, GCP, OpenStack und VMware vSphere. Weiterhin werden ScaleIO (Plugin), Portworx (Plugin) und NFSv3, NFSv4 sowie GlusterFS (mit den COS Node Image) unterstützt.[3] In Kubernetes Version 1.7 vom 29. Juni 2017 sind unter anderem erweiterte Security-Features und Stateful Workloads hinzugekommen. Gespeicherte Daten können nun verschlüsselt werden (Data at Rest), die Implementierung hat allerdings noch Alpha-Status.[12][13] Im Oktober 2017 wurde auf der DockerCon EU 2017 in Kopenhagen bekannt gegeben, dass die Containerplattform Docker in Zukunft die Orchestrierungsplattform Kubernetes unterstützen wird. Die eigene Orchestrierungsvariante Docker Swarm wird damit nicht von Docker aufgegeben. Beide Orchestrierungswerkzeuge sollen zusammenarbeiten können.[14] Ebenfalls im Oktober 2017 veröffentlichte Red Hat mit CRI-O eine "schlanke" Laufzeitumgebung für Kubernetes.[15]

Anfang 2018 veröffentlichte die 2005 gegründete Puppet Labs, Inc. für deren Administrationsprogramm Puppet zwei neue Module, die es ermöglichen, Kubernetes-Cluster einfacher und schneller aufzusetzen. Die Module laufen ab Puppet 4.2.1 und ab Puppet Enterprise 2015.2.[16][17] Bereits Ende 2015 veröffentlichte Puppet ein Modul zur Verwaltung von Kubernetes.[18] Anfang 2018 übernahm Red Hat den Container-Spezialisten CoreOS für einen Preis von 250 Millionen US-Dollar.[15] Am 24. Mai 2018 wurde Containerd 1.1 veröffentlicht. Anwender und Entwickler dürfen Containerd 1.1 damit offiziell als Container Runtime in Kubernetes Clustern einsetzen. Damit vereinfacht sich der zugrundeliegende Architektur-Stack gegenüber der ursprünglichen Dockershim-Implementierung nochmals. Das nächste Release der Docker CE wird Containerd 1.1 samt standardmäßig aktiviertem CRI Plugin enthalten. Containerd 1.1 benötigt mindestens Kubernetes 1.10 und unterstützt sämtliche Kubernetes-Funktionen.[19][20] Google bietete mit Kubernetes Engine eine gemanagte Kubernetes-Variante in der Google Cloud an. Am 21. Mai 2018 wurde Version 1.10 der Google Kubernetes Engine veröffentlicht.[21][22] Am 19. Juni 2018 kam die Verfügbarkeit von GPUs in Googles Kubernetes-Engine-Plattform hinzu.[23][24] Mit Kubernetes 1.11 vom 27. Juni 2018 sind das auf IP Virtual Server (IPVS) basierende In-Cluster Load Balancing und das CoreDNS-Plug-in als stabil freigegeben worden. Die dynamische Kubelet-Konfiguration liegt mit 11.1 in einer Betavariante vor und das Container Storage Interface (CSI) wurde verbessert.[25][26] Am 29. August 2018 wurde von CNCF auf der Open Source Summit für Nordamerika bekannt gegeben, dass Google Cloud den Besitz und das Management der Kubernetes Cloudressourcen an die CNCF übergibt. Google unterstützt die Übergabe mit Google Cloud Platform Credits im Wert von 9 Millionen US-Dollar über drei Jahre. Nach einer Umfrage wurde Kubernetes zum damaligen Zeitpunkt von mehr als der Hälfte der Fortune 100-Unternehmen eingesetzt.[27][28] Am 28. September 2018 wurde Kubernetes 1.12 veröffentlicht.[29] Diese Version unterstützt Azure Virtual Machine Scale Sets (VMSS) zum Erstellen und Verwalten homogener VM-Pools. Kubelet TLS Bootstrap ist nun generell verfügbar. Damit sind Kubelets in der Lage, sich selbst in einen TLS-gesicherten Cluster zu laden.[30]

Mit Kubernetes 1.14 vom 25. März 2019 ist die Unterstützung für Windows Nodes für den Produktionsbetrieb freigegeben. Damit unterstützt Kubernetes nun Linux-Container als auch Windows-Container, sodass Unternehmen die Applikationen beider Systeme nutzen nicht mehr unterschiedliche Container-Orchestrierungen einsetzen müssen. Kubernetes 1.14 unterstützt Windows Server 2019 für Worker Nodes sowie Container und bietet außerdem ein Out-of-Tree Networking mit Azure-CNI, OVN-Kubernetes und Flannel. Die Unterstützung für Persistent Local Volumes ist mit Version 1.14 ebenfalls stabil. Damit lassen sich lokal verankerte Speicher als persistente Volume-Source verwenden.[31]

Versionen (Auswahl)

Version Datum
1.8 29. September 2017
1.9 16. Dezember 2017
1.10 27. März 2018
1.11 27. Juni 2018
1.12 28. September 2018
1.13 3. Dezember 2018
1.14 25. März 2019

Weblinks

Quellen

  1. 1,0 1,1 As Kubernetes Hits 1.0, Google Donates Technology To Newly Formed Cloud Native Computing Foundation | TechCrunch, Jul 21, 2015
  2. GitHub - kubernetes/kubernetes: Production-Grade Container Scheduling and Management
  3. 3,0 3,1 Kubernetes 1.6 veröffentlicht - Pro-Linux, 30. März 2017
  4. 4,0 4,1 What is Kubernetes? - Kubernetes
  5. Kubeless – FaaS auf Kubernetes | heise Developer, 30.11.2018
  6. Google Open Sources Its Secret Weapon in Cloud Computing | WIRED, 06.10.14
  7. Announcing Tectonic: The Commercial Kubernetes Platform, April 6, 2015
  8. CoreOS und Kubernetes verbinden sich zu Tectonic - Pro-Linux, 7. April 2015
  9. Canonical expands enterprise container portfolio | Ubuntu Insights, 27 September 2016
  10. Kubernetes 1.5: Supporting Production Workloads | Linux.com | The source for Linux information, December 14, 2016
  11. Kubernetes 1.5 kommt besser mit zustandsbehafteten Containern zurecht - Pro-Linux, 15. Dezember 2016
  12. Kubernetes: Kubernetes 1.7: Security Hardening, Stateful Application Updates and Extensibility, June 29, 2017
  13. Container: Kubernetes 1.7 bringt einige Security-Erweiterungen | heise Developer, 30.06.2017
  14. Container: Docker unterstützt Kubernetes | heise Developer, 17.10.2017
  15. 15,0 15,1 Containerisierung: Red Hat kauft CoreOS | heise Developer, 31.01.2018
  16. New supported Puppet modules make Kubernetes deployments easier | Puppet, 11 January 2018
  17. Kubernetes: Puppet beschleunigt Cluster-Einrichtung | iX, 14.01.2018
  18. Managing Kubernetes Configuration with Puppet | Puppet, 16 December 2015
  19. Kubernetes Containerd Integration erreicht Produktionsreife | heise Developer, 25.05.2018
  20. Kubernetes Containerd Integration Goes GA - Kubernetes, May 24, 2018
  21. Google Cloud Platform Blog: Google Kubernetes Engine 1.10 is generally available and ready for the enterprise, May 21, 2018
  22. Google Kubernetes Engine 1.10: Mehr Optionen für Enterprise-Kunden | heise Developer, 22.05.2018
  23. "GPUs as a Service" für Kubernetes Engine allgemein verfügbar | heise Developer, 20.06.2018
  24. Google Cloud Platform Blog: GPUs as a service with Kubernetes Engine are now generally available, June 19, 2018
  25. Kubernetes 1.11: In-Cluster Load Balancing und CoreDNS sind stabil | heise Developer, 28.06.2018
  26. Kubernetes 1.11: In-Cluster Load Balancing and CoreDNS Plugin Graduate to General Availability - Kubernetes, June 27, 2018
  27. Google übergibt Kubernetes-Infrastruktur an Cloud Native - Pro-Linux, 30. August 2018
  28. Cloud Native Computing Foundation Receives $9 Million Cloud Credit Grant from Google Cloud to Fund Kubernetes Development, Empower Community - Cloud Native Computing Foundation, August 29, 2018
  29. Release v1.12.0 · kubernetes/kubernetes · GitHub
  30. Kubelet TLS Bootstrap mit Kubernetes 1.12 verfügbar | heise Developer, 02.10.2018
  31. Kubernetes 1.14: Jetzt auch für Windows-Container | heise online, 26.03.2019