Status

/

/

Kubernetes: Diese Aufgaben übernimmt die Open-Source-Lösung

Kubernetes: Diese Aufgaben übernimmt die Open-Source-Lösung

Veröffentlicht am 9. Dezember 2021
  6 Min. Lesezeit
  Aktualisiert am 11. November 2024

Durch die zunehmende Komplexität von IT-Infrastrukturen ist es heutzutage immer wichtiger, dass jede einzelne Anwendung skaliert und verwaltet werden kann. Da diese Organisation von Hand kaum zu bewältigen ist, schafft Kubernetes Abhilfe. Wir zeigen, was dahintersteckt.

Kubernetes Logo Titelbild

Inhalt

Was ist Kubernetes?

Die Open-Source-Lösung Kubernetes dient zur automatisierten Distribution, Skalierung und Verwaltung von Container-Anwendungen. Kubernetes ist heute fast Standard, wenn es um Container-Orchestrierung geht. Zur Anwendung kommt Kubernetes, wenn viele einzelne Microservices verwaltet werden müssen. Einzelne Anwendungen werden oft parallel gestartet, verwaltet und neu strukturiert – manchmal mehrmals täglich. Um Zeit, Kosten und Aufwand zu sparen, übernimmt Kubernetes diese Organisation und Orchestrierung.

Kubernetes ist zuständig für die komplette Bereitstellung von Anwendungen. Diese werden innerhalb von Servern platziert, und zwar so, dass eine optimale Auslastung gewährleistet ist. Mithilfe des Open-Source-Systems nehmen Administrationsarbeiten deutlich ab, denn Kubernetes kümmert sich um die Kommunikation zwischen den Anwendungen und sagt ihnen, wie sie einander finden können.

Der Aufbau von Kubernetes

Um zu verstehen, wie Kubernetes die Steuerung übernimmt, zeigen wir als Erstes den Aufbau von Kubernetes auf. Kubernetes besteht aus zwei Ebenen:

Kubernetes Master: ist die Steuerebene und kümmert sich um die Verwaltung und Steuerung des gesamten Systems.

Arbeitsknoten: führen die bereitgestellten Anwendungen aus und bestehen aus definierten Bereichen.

Grafik des Aufbaus von Kubernetes
Quelle: gridscale

Kubernetes Master

  • Der API-Server: ist für die Kommunikation innerhalb des Kubernetes Clusters zuständig.
  • Der Scheduler: weist den bereitstellbaren Komponenten von Anwendungen entsprechende Arbeitsknoten zu.
  • Der Controller-Manager: kontrolliert die Replikation von Komponenten, prüft Arbeitsknoten und handhabt Knotenausfälle.
  • Die etcd Datenbank: hier wird die gesamte Clusterkonfiguration persistent festgehalten.

Arbeitsknoten

  • Container runtime: führt die Docker oder rkt Container aus.
  • Kubelet: steuert die Container auf den Arbeitsknoten und kommuniziert mit dem Master.
  • Kubernetes-Dienstproxy (Kube-Proxy): ist für Proxy- und Lastenausgleichsfunktionen (Loadbalancing) im Datenverkehr zwischen den Anwendungskomponenten zuständig.

Der Grundstein von Kubernetes bilden die sogenannten Pods.

Ein Pod besteht aus einem oder mehreren Containern, welche jeweils zusammen auf einem Node ausgeführt werden. So wird sichergestellt, dass Container, welche voneinander abhängig sind, als Einheit auf demselben Node ausgeführt werden.

Da sich Container in einem Pod einen Netzwerk-Namespace teilen, können diese direkt via Loopback-Interface miteinander kommunizieren. Im Gegensatz dazu kommunizieren Pods über ihre IP-Adresse miteinander. Pods können mit einem Host oder einer virtuellen Maschine verglichen werden. Die Aufteilung von Pods kann, voneinander unabhängig, für die Skalierung und Aktualisierung der einzelnen Komponente genutzt werden.

Grafik des Aufbaus von Arbeitsknoten in Kubernetes
Quelle: gridscale

Kommunikation von Komponenten

Steuerkomponente

Die Steuerkomponente aus dem Kubernetes Master kommunizieren indirekt über den API-Server miteinander. Der API-Server kommuniziert als einziger direkt mit etcd. Somit lesen und schreiben alle anderen Komponenten über den API-Server in den etcd. Da etcd vor allen Komponenten verborgen ist, vereinfacht es das eventuelle Ersetzen. Diese Kommunikation bietet den Vorteil eines stabilen und optimistischen Sperrsystems und einer stabileren Validierung.

Auch die Komponenten der Steuerebene müssen über API-Server laufen, nur so ist eine konsistente Aktualisierung des Clusterstatus möglich. Der Clusterstatus kann über die CRUD-Schnittstelle (Create, Read, Update, Delete) abgefragt und bearbeitet werden. Die CRUD-Schnittstelle wird über REST-API zur Verfügung gestellt.

Der API-Server ist für die Gültigkeit der geschriebenen Dateien im Speicher zuständig und stellt sicher, dass Änderungen nur von autorisierten Clients durchgeführt werden können.

Die Aufgabe des Schedulers besteht darin, passende Knoten für neu erstellte Pods zu finden und sie zuzuweisen. Dazu gehört auch die Poddefinition (bestehend aus Status, Metadaten und Beschreibung der Podinhalte) über den API-Server. Der Beobachtungsmechanismus des API-Servers hilft ihm dabei. Um den passenden Knoten für den Pod zu finden, filtert der Scheduler die Knotenliste nach Priorität und Wahl. Ziel ist eine gleichmäßige Auslastung der Nodes.

Um die Kontrolle über das gesamte System zu behalten, gibt es die Controller im Controller-Manager. Sie passen den Ist-Zustand des Systems an den Soll-Zustand an. Wie der Soll-Zustand genau aussieht, ist in den bereitgestellten Ressourcen des API-Servers festgelegt. Für jede Aufgabe gibt es verschiedene Controller, die innerhalb von Controller-Manager-Prozessen festgelegt sind.


Zum Beispiel: Replikationsmanager für die Replikationskontrolle, Deploymentcontroller, SatefulSet Controller u.v.m. Die Kommunikation läuft dabei indirekt über API-Server miteinander. Um Änderungen an Ressourcen nicht zu verpassen, überwachten sie den API-Server. Benötigte Operationen (Erstellen, Änderung oder Löschen eines Objekts) werden durch die Controller ausgeführt und den neuen Status in die Ressourcen eingetragen.

Komponente Arbeitsknoten

Der Scheduler ist für die Planung der angegebenen Containergruppen auf den Arbeitsknoten zuständig und orientiert sich dazu am Ressourcenbedarf der Containergruppen.

Das Kubelet hat diverse Aufgaben:

  • Es teilt die Containerlaufzeit auf, um die nötigen Containerimages herunterzuladen und auszuführen.
  • Es ist verantwortlich für alle laufenden Prozesse im Arbeitsknoten.
  • Es registriert den Knoten, auf dem rs ausgeführt wird (Erstellen einer Knotenressource im API-Server).
  • Der API-Server wird überwacht (betreffend Pods), um notwendige Container zu starten. Zum Beispiel: Der Docker wird auf Basis eines Images angewiesen, einen Container zu starten.
  • Überwacht alle laufenden Container und meldet den Status oder Ressourcenverbrauch an den API-Server.

In der Beschreibung der Pods wird festgehalten, welche Containerimages eine Anwendung enthalten, wie die verschiedenen Komponenten miteinander in Beziehung stehen und ob Anwendungen auf demselben Knoten ausgeführt werden sollen. Diese Beschreibung wird vom Entwickler geschrieben.

Die Kube-Proxys (Dienst-Proxys) sind für die Verbindung zwischen Clients und Diensten zuständig, damit die IP und der Port des Dienstes bei einem Pod landet, der den Dienst unterstützt. Falls mehrere Ports zur Verfügung stehen, wird ein Loadbalancing (Lastenausgleich) vorgenommen.

Grafik der einzelnen Komponenten der Arbeitsknoten in Kubernetes
Quelle: gridscale

Die Vorteile

Kubernetes nutzt Container, um Umgebungen für verschiedene Anwendungen vorzubereiten. So werden die Administrationsarbeit sowie die Bereitstellung von Diensten vereinfacht und Entwickler müssen sich nicht mehr darum kümmern, auf welchem Server welche Anwendung läuft. Voraussetzung dafür ist, dass die Server die benötigten Ressourcen zur Verfügung stellen.

Als Grundlage nimmt Kubernetes immer die Beschreibung der Ressourcenanforderungen des Entwicklers. Danach kümmert sich Kubernetes darum, auf welchen Arbeitsknoten welche Anwendung laufen soll. Bei Bedarf kann er so Anwendungen aufräumen und woanders platzieren. Diese Methode ist viel effizienter, als wenn Entwickler dies von Hand erledigen würden, da er immer die optimale Kombination finden und so eine gute Auslastung garantieren kann.

Ein weiterer wichtiger Punkt ist die Zustandsprüfung der Arbeitsknoten. Denn je größer die Infrastruktur, desto höher die Wahrscheinlichkeit eines Ausfalls eines Knotens. In diesem Fall verschiebt Kubernetes die Anwendungen auf andere Knoten.

Als Letztes bietet die automatische Skalierbarkeit von Pods den Vorteil, Redundanzen von Pods zu vermeiden. Denn Kubernetes ist in der Lage, einen Pod vertikal zu skalieren.

Kubernetes in unserem virtual Datacenter

Wir stellen Kubernetes in unserem virtual Datacenter kostenlos zur Verfügung. Nebst den gewohnten Vorteilen unseres vDCs wie intuitive Bedienung, minutengenaue Abrechnung deiner Ressourcen und höchsten Sicherheitsstandards in unserem Datacenter DATAROCK, musst du dich dank Kubernetes nicht um die Orchestrierung kümmern. So kannst du dich ganz auf die Anwendungsentwicklung konzentrieren.

Dieser Blog entstand in Zusammenarbeit mit gridscale.

Inhalt

Artikel teilen

Link kopieren

Artikel teilen

Link kopieren
Bild von Manuel Kälin

CTO & Co-Founder    3 Artikel

529
Kategorie
Alexander M. Hefele, CEO von AMZ Racing, sitzt in der AMZ Werkstatt und erklärt, weshalb sein Team auf die Cloud-Lösung von hosttech setzt. Hinter ihm sind zwei Renn-Boliden von AMZ zu sehen. Rechts im Bild die Logos von hosttech und AMZ.

AMZ Racing ist das Formula Student Team der ETH Zürich. Aktuell steht das Team an der Spitze der Weltrangliste. Zudem hält es seit 2023 den Weltrekord für die schnellste Beschleunigung von 0 auf 100 km/h mit einem Elektrofahrzeug. hosttech unterstützt AMZ Racing seit einigen Jahren mit Cloud-Computing-Ressourcen im virtual Datacenter. In einer dreiteiligen Video-Serie gibt das AMZ-Team Einblick in seine Arbeit und zeigt, wie es unsere Cloud-Lösung einsetzt, um seine Fahrzeuge laufend zu optimieren.

Grafik zu DKIM (DomainKeys Identified Mail) mit Schutzschild zur Darstellung von E-Mail-Authentifizierung und Schutz vor Phishing.

E-Mail-Kommunikation ist ein zentraler Bestandteil deines Online-Auftritts – egal ob geschäftlich oder privat. Doch ohne die richtigen Sicherheitsmaßnahmen landen Nachrichten leicht im Spam oder können manipuliert werden. DKIM ist eine der wichtigsten Methoden, um die Integrität deiner E-Mails zu sichern.

Symbolbild mit Laptop und E-Mail-Umschlägen sowie den Begriffen POP3, IMAP und Exchange zur Veranschaulichung der unterschiedlichen E-Mail-Protokolle.

Wer ein E-Mail-Postfach einrichtet, stolpert früher oder später über die Begriffe POP3, IMAP und Exchange. E-Mail gehört zum Alltag wie der Kaffee am Morgen. Trotzdem machen sich die wenigsten Gedanken darüber, was im Hintergrund passiert, wenn eine Nachricht verschickt oder gelesen wird. Genau dort liegt aber der Unterschied zwischen einem entspannten Mail-Alltag und einem Setup, das ständig für Frust sorgt. Und dann wird klar: Die Wahl des richtigen E-Mail-Systems ist alles andere als egal.

Illustration mit WordPress-Logo und Versionsangabe 6.9 für das WordPress Update, passend zum Blogartikel über Neuerungen, Performance und Weiterentwicklung von WordPress

Mit WordPress 6.9 (Codename «Gene») setzt das CMS seine Entwicklung konsequent fort. Das Update verbessert die Zusammenarbeit im Editor, erweitert die Gestaltungsmöglichkeiten und bringt spürbare Optimierungen bei Performance und Bedienung. Gleichzeitig legt Version 6.9 wichtige technische Grundlagen für kommende Releases und KI-Integration. In diesem Beitrag zeigen wir dir, was neu ist.

Symbolbild für den Provider-Wechsel. Eine Person übergibt einer zweiten Person ein Paket. Dieses steht sinnbildlich für das Datenpaket, welches vom alten zum neuen Provider wechselt.

Ein Provider-Wechsel bringt auch immer viel Arbeit mit sich. Alle Daten müssen vom alten Provider zum neuen umgezogen werden und am besten soll keine Downtime entstehen. Wie das klappt, erklären wir in diesem Beitrag.

Headerbild zur News betreffend neuem hosttech-Login-Screen: Ein aufgeklappter Laptop, auf welchem der neue Login-Screen zum myhosttech-Kundencenter zu sehen ist. Der Laptop steht auf einem Tisch. Jemand sitzt am Laptop, es sind nur seine Hände auf der Tastatur zu sehen. Links neben dem Laptop steht eine schwarze Espresso-Tasse mit aufgedrucktem hosttech-Logo.

Der Login-Screen zum myhosttech Kundencenter wurde einem Redesign unterzogen. Das Login wird schlichter und aufgeräumter. Die Umstellung erfolgt im Verlauf von Mittwoch, 28. Januar 2026.

Headerbild zum Bleigbeitrag über die aktuelle RAM-Knappheit. Blick ins Innenleben eines Servers, rechts im Bild eine Hand, welche eine neue Komponente einbaut.

Die RAM-Knappheit seit 2024 treibt die Preise in die Höhe und verlängert Lieferzeiten drastisch. Hauptgründe sind der massive KI-Boom, der Wechsel zu DDR5 und strategische Produktionskürzungen. Große Unternehmen sichern sich Vorräte, während kleinere Anbieter kämpfen. Erfahre hier, wie sich die Lage entwickelt und was das für dich bedeutet.

myhosttech Kundencenter