Kubernetes

Aus InkluPedia
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]

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.[5] Am 6. April 2015 kündigte CoreOS Inc. Tectonic an.[6] 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.[7] 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.[8] Am 14. Dezember 2016 wurde Kubernetes in der Version 1.5 veröffentlicht.[9] 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.[10] 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.[11][12]

Weblinks

Quellen