Kubernetes
Kubernetes ist eine Technologie, die zur Container-Orchestrierung genutzt wird und das automatisierte Deployment von Software erleichtert.
Alternativ zum Namen „Kubernetes“ wird auch die Kurzform „k8s“ verwendet. „K“ und „S“ stehen für den Anfangs- bzw. Endbuchstaben von Kubernetes, die „8“ für die acht Buchstaben dazwischen.
Kubernetes und Containerisierung
Mit der zunehmenden Nutzung von Container-Lösungen, wie z.B. Docker©, wird auch die Frage immer wichtiger, wie man Prozesse in der Bereitstellung, Skalierung und Verwaltung von Anwendungen automatisiert. Die Open-Source-Lösung Kubernetes liefert hierzu die Antwort.
Automatisierte Container-Orchestrierung mit Kubernetes
Mit Kubernetes erhalten Entwickler eine von der Hardware unabhängige, standardisierte Plattform, in der sie Ihre Anwendungen als Container betreiben können. Die Umsetzung des DevOps-Ansatzes wird dadurch spürbar vereinfacht.
Ein Einsatz von Kubernetes ist sowohl in privaten Rechenzentren, wie auch in der Public Cloud möglich. Gängige Use-Cases sind dabei unter anderem:
- Automatisches Skalieren auf Last-Basis
- Load Balancing
- Service Discovery
- Automatisches Failover
- Canary Deployments
- Rolling Updates / Zero Downtime Deployment
Deployments und Rollouts mit Kubernetes
In Kubernetes werden die Images von Containern mit ihrer Konfiguration und Anzahl in sogenannten Deployments zusammengefasst. Das Tool sorgt dafür, dass die angegebene Anzahl von Containern jederzeit läuft und dass Änderungen automatisch an die betroffenen Container verteilt werden. Änderungen werden hierbei als Rollouts bezeichnet. Der Nutzer muss lediglich, Mindest- und Höchstwerte für die Ressourcennutzung eines Deployments angeben, um dem System einen Spielraum vorzugeben.
Speicherung von Daten
Da Container zustandslos sind, benötigen sie einen externen Ort, um Daten dauerhaft speichern zu können. Dank der starken Verknüpfung zwischen Kubernetes und Cloud-Betrieb gibt es eine Vielzahl von Schnittstellen zu Cloud-Services wie EBS, AWS oder GCP. Dadurch ist die Nutzung sehr einfach. Für den On-Premises Betrieb von Kubernetes müssen individuelle Lösungen gefunden werden.
Kubernetes Terminologie
Ein Kubernetes System besteht immer aus mindestens einem Cluster, der wiederum mindestens ein Node umfasst. Ein Node ist dabei ein System zum Betrieb von Containern, das von Kubernetes kontrolliert wird. Container, die auf demselben Node laufen, werden wiederum als Pods bezeichnet.
Kubernetes Schulungen
Wenn Sie bislang noch keine Erfahrung mit Kubernetes haben, die Grundlagen und den Umgang mit der Technologie aber lernen möchten, bieten wir von Cloudogu Ihnen praxisnahe Kubernetes-Schulungen an. Mit unseren zertifizierten Trainern lernen Sie binnen drei Tagen die Grundlagen der Container-Orchestrierung, fortgeschrittene Techniken sowie Hintergründe von Kubernetes. Zudem werden Sie auf die offizielle Prüfung zum Certified Kubernetes Application Developer (CKAD) vorbereitet. Vorkenntnisse sind nicht notwendig.