Kubernetes ist eine Open Source Container Cluster Management Software, die ursprünglich von Google entwickelt wurde und der Cloud Native Computing Foundation (eine Koop von Google mit der Linux Foundation) zur Verfügung gestellt wurde. Kubernetes wurde in der Entwicklung stark von einem umfangreichen Google Software System namens Borg beeinflusst, mit dem tausende von Googles Servern in den Rechenzentren rund um den Globus verwaltet werden und das es Google Ingenieuren ermöglicht, im Handumdrehen unfassbar viel Rechenpower aus den Rechenzentren des Konzerns zu reservieren und sie dort einzusetzen, wo sie sie gerade brauchen: Egal ob Tools wie die Google Suche, Gmail oder Google Maps.
Viele der Entwickler von Kubernetes haben vorher am Borg Projekt gearbeitet und mit Kubernetes haben nun viele Internet Unternehmen die Möglichkeit, Projekte in der Größe von Google Maßstäben zu entwickeln. Das Wort Kubernetes enstammt dem Altgriechischen und bedeutet etwa so viel wie Steuermann oder Pilot. Mit der Open Source Cluster Management Software Kubernetes lassen sich in Docker Container (wird auch bei Google Borg und seinem Nachfolger Google Omega verwendet) verpackte Software Applikation bequem über große verteilte Cloud Computersysteme deployen und orchestrieren.
Eine Besonderheit von Kubernetes ist dabei, dass es nicht nur relativ einfach in der Handhabung ist, sondern auch das Maximum aus der vorhandenen Rechenpower rausholen kann. Werden Software Applikationen in Docker Container auf verschiedenen Cluster Knoten wenig oder garnicht genutzt, kann Kubernetes diesen Cluster Knoten vorübergehend oder dauerhaft neue Aufgaben zuweisen und so vollautomatisch die vorhandenen Rechenleistung der Server oder Rechenzentren optimal auslasten.
Kubernetes definiert einen Satz von primitiven Bausteinen ("Building Blocks"), die gemeinsam die Mechanismen für das Deployen, Aufrechterhalten und Skalieren von Cloud Applikationen bereitstellen. Die Kern Komponenten von Kubernetes sind lose gekoppelt und in einer gewissen Weise flexibel und erweiterbar, so dass eine große Bandbreite möglicher Lastszenarien abgedeckt werden kann. Die Kubernetes API stellt diesen Mechanismus sowohl den internen Komponenten zur Verfügung, als auch sämtlichen Erweiterungen und Containern, die auf Kubernetes laufen.
Die kleinste Grundeinheit bei Kubernetes nennt sich "Pod". Ein Kubernetes Pod besteht aus einem oder mehreren Containern, die auf einer Maschine laufen und sich deren Resourcen und eine einzigartige IP Adresse teilen. Pods können über die Kubernetes API einzeln verwaltet werden, oder Ihre Verwaltung kann an einen Controller abgetreten werden.
Mit Labels und Selektoren bietet die Kubernetes API einen zentralen Gruppierungsmechanismus, mit dem Pods oder Knoten zusammengefasst und addressiert werden können. Mit Label Selektoren kann in einer Abfrage, die ein wenig an SQL queries oder CSS Selektoren erinnert, festgelegt werden, welche Operationen auf welche Komponenten angewendet werden sollen. Labels werden als Key-Value Paare belibigen API Objekten , wie Pods oder Knoten, zugewiesen.
Ein Controller ist bei Kubernetes ein Mechanismus, der den aktuellen Cluster Zustand in einen gewünschten Cluster Zustand überführt. Es gibt verschiedene Arten von Controllern, etwa für die Replizierung oder Job Controller. Ein Controller verwaltet einen Satz von Pods, die er über Label Selektoren festgelegt werden.
Ein Kubernetes Service ist ein Satz von Kubernetes Pods, die zusammenarbeiten. Der Satz an Pods, die einen Kubernetes Service ausmachen, wird über Label Selektoren festgelegt. Kubernetes bietet Service Discovery, DNS Namensauflösung für den Service sowie eine feste IP Adressierung. Standardmäßig sind Services nur innerhalb eines Clusters ansprechbar, können aber auch ausserhalb zugänglich gemacht werden.
Kubernetes nutzt eine Master Slave Architektur und lässt sich grob unterteilen in Kubernetes Nodes (Knoten) und Kubernetes Control Plane, der zentralen Steurungseinheit.
Die Master Komponenten von Kubernetes sind Bestandteil des sogn. Cluster Control Plane. Hierzu gehören der kube-apiserver, der die Kubernetes API bereitstellt, etcd, welches alle Cluster Daten speichert, kube-controller-manager, eine ausführbare Datei, die Kubernetes Controller ausführt, Hintergrund Prozesses oder Threads, die Routine Aufgaben erledigen und der kube-scheduler, der neu instanziierte Pods überwacht und ihnen Kubernetes Nodes zuweist, auf denen sie laufen können. Weitere Komponenten sind in addons zusammengefasst, wie etwa DNS, User Interface (nicht zu verwechseln mit WEB UI, dem Browser basierten Dashboard, mit dem man Applications deployen kann und den ubernetes Cluster und seine Resourcen steuern kann), Container Resource Monitoring oder Cluster Level Logging.
Ein Kubernetes Nodes ist der einzelne Rechner (oder virtuelle Maschine) eines Clusters, auf dem standardmäßig folgende Node Komponenten laufen: kubelet, der die einzelnen Pods des Nodes verwaltet, mounted, Container via Docker ausführt, Status Meldungen zwischen Pod und Node kapselt, kube-proxy, docker, rkt (eine experimentelle Docker alternative), supervisord und fluent.
Was auch immer Sie mit Kubernetes aufziehen wollen - eine lokale Testumgebung oder eine global verteilte Enterprise Applikation - wir können Ihnen helfen. Sprechen Sie uns an und binden Sie unsere Experten von Anfang an in Ihr Team ein!
Die Millionenstadt Köln ist die viertgrößte Stadt Deutschlands und die bevölkerungsreichste Stadt des Bundeslandes Nordrhein-Westfalen. Weltbekanntes Wahrzeichen der Metropole am Rhein ist der Kölner Dom, seit 1996 Weltkulturerbe der UNESCO
Köln ist Messestadt mit zahlreichen international renommierten wie gamescom, Anuga oder Art Cologne. Wirtschaftlich dominiert der Dienstleistungssektor, sowohl nach Bechäftigten wie auch an Bruttowertschöpfung. Neben Großunternehmen wie Ford, REWE und vielen Versicherungen bietet Köln auch viele StartUps aus den unterschiedlichsten Branchen und bietet als Spitzenreiter in der Digitalen Entwicklung (2015) ideale Bedingungen für die IT Branche. Mit der Universität zu Köln und der TH Köln, sowie zahlreichen weiteren Hochschulen bildet Köln als größter Bildungs- und Forschungsstandort der Region auch kontinuierlich qualifizierten Nachwuchs aus.
Köln und seine 86 Veedel haben die Postleitzahlen von 50667 bis 51149 und die Telefon Vorwahl 0221.
Wir sind gerne für Sie da, rufen Sie uns einfach an:
Tel.: +49 221 960 28 202
[email protected]