www.wikidata.de-de.nina.az
Kubernetes auch als K8s bezeichnet deutsche Aussprache ˌkuːbɐˈneːtes ist ein von Google entwickeltes Open Source System zur Verwaltung von Container Anwendungen In diesem Umfeld wird die Verwaltung der technischen Container Infrastruktur auch als Orchestrierung bezeichnet Es kann sowohl Fremdgehostet von verschiedenen Cloud Dienstleistern gebucht als auch On Premises selbst auf eigener fremder Hardware betrieben werden KubernetesBasisdatenMaintainer Cloud Native Computing FoundationEntwickler GoogleErscheinungsjahr 2014 1 Aktuelle Version 1 28 4 2 15 November 2023 Betriebssystem LinuxProgrammiersprache GoKategorie Container OrchestrierungLizenz Apache Lizenz 2 0deutschsprachig neinhttps kubernetes io Inhaltsverzeichnis 1 Geschichte 2 Architektur 2 1 Funktionen 3 Einsatz 4 Literatur 5 Weblinks 6 EinzelnachweiseGeschichte BearbeitenGoogle hat bereits nach der Jahrtausendwende einen grossen Fokus auf Container gesetzt sodass nahezu alle eigenen Dienste darin betrieben wurden Dies fuhrte aufgrund der Grosse zu verschiedenen Problemen weswegen das Unternehmen Borg entwickelte Ein System zur Verwaltung von Clustern Borg verwaltete hunderttausende Aufgaben von tausenden Anwendungen die verteilt auf zehntausenden Server liefen Zu den Hauptaufgaben gehort das Planen Neu Starten und Uberwachen der Google Dienste mit Fokus auf Skalierung und Hochverfugbarkeit Die Komplexitat von Ressourcenverwaltung und Fehlerbehandlung sollten von den Entwicklern abstrahiert werden damit diese sich auf die Anwendung konzentrieren konnen Zwar gab es Alternativen diese waren aus Sicht von Google jedoch nicht widerstandsfahig genug und es fehlten Funktionen 3 Kubernetes von altgriechisch kybernhths kybernetes Steuermann wurde ursprunglich von Joe Beda Brendan Burns und Craig McLuckie entwickelt 4 Kurze Zeit spater stiessen weitere Google Entwickler wie Brian Grant und Tim Hockin hinzu 2014 stellte Google Kubernetes als Open Source Projekt der Offentlichkeit vor 5 Es handelt es sich um eine Neuentwicklung von Borg welches zu diesem Zeitpunkt bereits mehr als ein Jahrzehnt alt war Man wollte die besten Ideen aus Borg in Kubernetes integrieren und daruber hinaus einige Probleme losen die in den Jahren zuvor mit Borg identifiziert wurden Viele der von Google bereitgestellten Kubernetes Entwickler waren zuvor an Borg beteiligt Im Gegensatz zu Kubernetes war Borg ein internes System welches nicht frei verfugbar war Da sich Google bei Kubernetes fur eine offentliche Entwicklung als quelloffene Software entschieden hat kann jeder den Nachfolger nutzen oder sogar daran mitarbeiten 6 Version 1 0 wurde am 21 Juli 2015 veroffentlicht 7 Dabei wurde auch die Grundung der Cloud Native Computing Foundation unter dem Dach der Linux Foundation angekundigt und Kubernetes wurde von Google an diese gespendet 8 Architektur Bearbeiten nbsp Schematischer AufbauEine Kubernetes Installation besteht aus dem Zusammenspiel mehrerer Hostrechner zu einem Cluster Es gibt zwei Kategorien von hosts Control Plane kummert sich um Verwaltungsaufgaben im Cluster und fuhrt keine Anwendungscontainer aus Die Control Plane bietet eine API zur Konfiguration an 9 verwaltet alle spezifische Konfigurationen in einem etcd und wendet diese automatisch auf alle Anwendungen sowie den Cluster selbst an Worker Nodes dienen dazu die eigentliche Arbeitslast der Anwendung abzuarbeiten Die notwendige Anzahl und Leistung dieser Worker Node Server ermittelt sich anhand der Ressourcenanforderung der Container Je ressourcenintensiver die Container sind desto mehr oder performantere Worker Nodes werden benotigt Sie haben keine Verwaltungsaufgaben Kubernetes erzeugt ein Netzwerk so dass die im Cluster verteilten Anwendungen untereinander kommunizieren konnen 10 Funktionen Bearbeiten Kubernetes bietet eine Reihe von Moglichkeiten die Orchestrierung von komplexen Container basierten Anwendungen zu unterstutzen Kubernetes fasst einen oder mehrere Container zu einem pod zusammen Pods laufen zusammen auf einem node und werden im Cluster Netzwerk mit einer IP Adresse im Subnetz des jeweiligen Workernodes angesprochen Laufende pods werden anhand definierter Faktoren uberwacht und bei einem Ausfall neu gestartet Mehrere dieser pods werden als service mit einem network proxy 11 meist iptables mit einer vom Workernode unabhangigen IP Adresse zusammengefasst So ist jeder Dienst immer unter dieser einen IP Adresse erreichbar auch wenn die dazugehorigen pods auf einem anderen Workernode neu gestartet werden Um eine Hochverfugbarkeit auch im Storungsfall aufrechtzuerhalten konnen pods redundant auf mehreren Hosts betrieben werden So kann ein sinnvolle Lastverteilung der eingehenden Anfragelast auf die einzelnen pods erfolgen Bei hohem Anfragevolumen konnen zusatzliche pods gestartet werden services konnen als ingress 12 nach aussen exponiert werden Dazu muss ein Ingress Controller z B ein HAProxy installiert sein 13 configmaps und secrets konnen als Konfigurationsdateien und Passworte z B fur Datenbanken in jeden Container in einem Pod gemounted werden Des Weiteren ermoglicht es Kubernetes persistente Datenspeicher an die pods zu mounten z B Storage Area Network 14 Einsatz Bearbeiten nbsp Vergleich traditioneller Ansatz vs virtuelle Maschinen vs Containerisierung von AnwendungenContainer sind eine naturliche Weiterentwicklung virtueller Maschinen zur effizienten Nutzung verfugbarer Hardware Ressourcen Da ein Container in vielen Fallen lediglich einen kleinen Teil einer grosseren Anwendung enthalt Microservices braucht es oftmals viele Container um eine grosse Anwendung vollstandig bereitzustellen Im Betrieb von Container Anwendungen spielen Verwaltungsaufgaben wie die Bereitstellung die Anfragelast bezogene automatische Skalierung sowie das Monitoring der zum Betrieb notwendigen Anwendungscontainer und ihrer Infrastruktur eine wichtige Rolle Kubernetes dient als Werkzeug zur Unterstutzung dieser Orchestrierungsaufgaben Eingesetzt wird Kubernetes dabei bereits in kleinen und einfachen Containerumgebungen bis hin zu komplexen und verteilten Anwendungsfallen grosser Technologieanbieter und ihrer containerbasierten Cloud Produkte Einige Beispiele sind hier Microsofts Azure 15 IBM Cloud 16 Red Hat OpenShift 17 Amazons EKS 18 Googles Kubernetes Engine 19 und Oracles OCI 20 21 Literatur BearbeitenKelsey Hightower Kubernetes Eine kompakte Einfuhrung dpunkt verlag Heidelberg 2018 ISBN 978 3 86490 542 1 Sebastien Goasguen Kubernetes Cookbook Building Cloud Native Applications O Reilly 2018 ISBN 978 1 4919 7968 6 Bilgin Ibryam Roland Huss Kubernetes Patterns Reusable Elements for Designing Cloud Native Applications O Reilly 2019 ISBN 978 1 4920 5028 5 Weblinks Bearbeiten nbsp Commons Kubernetes Sammlung von Bildern Videos und Audiodateien Offizielle Website Kubernetes Quellcode auf Github Kubernetes Architektur und Einsatz Eine Einfuhrung mit Beispielen Why cloud native open source Kubernetes matters englisch Einzelnachweise Bearbeiten First GitHub commit for Kubernetes In github com 7 Juni 2014 abgerufen im 1 Januar 1 Release 1 28 4 15 November 2023 abgerufen am 18 November 2023 Abhishek Verma Luis Pedrosa Madhukar R Korupolu David Oppenheimer Eric Tune John Wilkes Large scale cluster management at Google with Borg In Proceedings of the European Conference on Computer Systems EuroSys Bordeaux France 2015 research google abgerufen am 4 April 2023 Google Made Its Secret Blueprint Public to Boost Its Cloud Abgerufen am 7 Juli 2017 amerikanisches Englisch Cade Metz Google Open Sources Its Secret Weapon in Cloud Computing In Wired 10 Juni 2014 ISSN 1059 1028 amerikanisches Englisch wired com abgerufen am 29 Juli 2019 Borg The Predecessor to Kubernetes 23 April 2015 abgerufen am 4 April 2023 englisch Google veroffentlicht Vollversion Kubernetes 1 0 In ZDNet de 22 Juli 2015 abgerufen am 7 Juli 2017 Cloud Native Computing Foundation soll Container Technologien zusammenbringen In pro linux de 22 Juni 2015 abgerufen am 7 Juli 2017 kubernetes io The Kubernetes API kubernetes io Cluster Networking kubernetes io kube proxy kubernetes io ingress kubernetes io Ingress Controllers Storage Volume Kubernetes on Microsoft s Azure Container Service is now generally available auf techcrunch com vom 21 Februar 2017 Kubernetes now available on IBM Bluemix Container Service auf ibm com vom 19 Marz 2017 Why Red Hat Chose Kubernetes for OpenShift auf blog openshift com vom 7 November 2016 Highly available and scalable Kubernetes service Googles Kubernetes Engine Uberblick uber Container Engine for Kubernetes auf docs cloud oracle com Avi Miller Announcing Oracle Container Services 1 1 9 for use with Kubernetes oracle com abgerufen am 23 April 2018 Normdaten Sachbegriff GND 1153019000 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Kubernetes amp oldid 238665999