Kubernetes

Aus InkluPedia
Kubernetes
Logo
Maintainer Cloud Native Computing Foundation
Entwickler Google
Erscheinungsjahr 2014
Aktuelle Version 1.7.9[1]
(19. Oktober 2017)
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.[2]

Der Quellcode von Kubernetes steht auf GitHub zur Verfügung.[3] Kubernetes ist größtenteils in Googles Programmiersprache Go implementiert und steht unter der Apache License 2.0.[4] Der Name Kubernetes stammt aus dem Griechischen und bedeutet etwa Steuermann oder Pilot.[5]

Geschichte

Kubernetes wurde von Google im Jahr 2014 gestartet und basiert auf Googles 15-jähriger Erfahrung mit ihrer Lösung namens Borg.[5] 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 Goolgle 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.[2]

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.[4] 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]

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.[15][16] Bereits Ende 2015 veröffentlichte Puppet ein Modul zur Verwaltung von Kubernetes.[17]

Weblinks

Quellen