Kubernetes ist der aktuelle Standard für Container-Orchestrierung und die Verwaltung von Microservices. Urprünglich als internes Google-Projekt gestartet hat es sich in den letzten Jahren gegenüber Docker Swarm und ähnlichen Konkurrenten durchgesetzt.
Funktionsweise
Kubernetes verfolgt keinen monolitischen Ansatz, sondern besteht selbst aus verschiedenen Komponenten, die auf vielfältige Art und Weise zusammengestellt werden können. Die Kontrolle des Systems übernimmt dabei das sogenannte Control Plane und wird typischerweise auf dedizierten Servern, den sogenannten Master-Nodes, betrieben. Das Controle Plane ist selbst in unterschiedliche Komponenten unterteilt. Hierzu zählen: der kube-apiserver, der kube-controller-manager, der scheduler sowie der cloud-controller-manager.
Ressourcen und Status werden in einer etcd-Datenbank persistiert. Die eigentlichen Workloads werden auf getrennten Servern betrieben, den Worker-Nodes. Zur Kontrolle der Workloads wird auf jedem Server eine Komponente namens kubelet betrieben. Für das Servicemanagement wird zudem eine Komponente namens kube-proxy eingesetzt. Die REST-Architektur ist dabei von vorne herein so modular wie möglich aufgebaut, um einzelne Teile ohne großen initialen Aufwand austauschen zu können.
Definierte Schnittstellen ermöglichen Kubernetes eine Vielzahl unterschiedlicher Komponenten anzusprechen. Standards wie das Container Storage Interface (CSI), das Container Network Interface (CNI) oder auch das Container Runtime Interface (CRI) ermöglichen dabei die Kompatibilität zwischen Komponenten.
Neben der Flexibilität der Komponenten bezüglich Konfiguration und Verteilung lässt sich Kubernetes sehr gut erweitern. Hierzu stehen eine Vielzahl an Optionen zur Verfügung. Beispiele hierfür sind: Cloud Provider Plugins, Admission Webhooks, Authentication Webhooks, Custom Resource Definitions sowie Operatoren. Diese Erweiterbarkeit bietet die Möglichkeit, genau die Konfiguration vorzunehmen, die benötigt wird, und bietet die Freiheit aus einer Vielzahl von Erweiterungen und Projekten zu wählen, die genau zu den Anforderungen passen. Sei es Netzwerkfunktionalität, persistenter Speicher, Container Runtime oder das Management von Zertifikaten.
Neben den Angeboten der diversen Cloud Provider stehen eine Reihe von Tools zur Verfügung, um einen eigenen Kubernetes Cluster zu installieren – sei es in der Cloud oder On-Premise. Zu den bekanntesten Vertretern gehören Tools wie kubeadm, kops, kubespray und rancher. Letzteres bietet neben der Installation noch weitere Funktionalität.
Wie können wir helfen?
Durch unsere Erfahrungen aus vielfältigen Projekten und intensive Fort- und Weiterbildung in allen, für den Produktivbetrieb relevanten, Bereichen, können wir Sie bei der Konzeption, der Installation und auch Betreuung Ihrer Kubernetes-Cluster unterstützen.
In einem Workshop erarbeiten wir gemeinsam die Anforderungen an den Cluster und präsentieren die entsprechenden Möglichkeiten sowie deren Vor- Und Nachteile basierend auf Ihrer Infrastruktur und Ihren Anforderungen.
Im Anschluss erarbeiten wir gemeinsam ein Konzept zur Cluster-Realisierung und unterstützen Sie und Ihre Kollegen in dieser Phase auch gern mit Schulungen um den bestmöglichen Start in die neue Infrastruktur zu ermöglichen.
Um auch nachhaltig den Betrieb so robust und automatisiert wie möglich zu gestalten erarbeiten wir zusammen eine CI/CD (Continous Integration / Delivery) Strategie. Dies beinhaltet z.B. die Erstellung eigener Container-Images und Deployments in das Kubernetes-Cluster. Dabei werden Tools wie Docker, Buildah oder Kaniko zum Bau der Images und Gitlab, Helm, Kustomize, Argo CD o.ä. zum Deployment eingesetzt. Die genaue Auswahl der Tools geschieht dabei entsprechend Ihren Anforderungen und gegebenen Vorlieben.
Zwecks Steuerung des Deployments kann z.B. auf bestehende Infrastruktur wie Jenkins (X), Gitlab oder auch Tekton-Pipelines zurückgegriffen werden. Natürlich können Sie auch bei der Umsetzung dieses Bereiches auf uns zählen.
credativ supportet nicht nur „Vanilla“-Kubernetes, sondern bietet auch alle Leistungen für darauf basierende Distributionen wie okd oder Rancher.
Supportleistungen
Haben Sie bereits ein bestehendes Cluster, sind mit dessen Leistung nicht zufrieden sind, oder haben Probleme bei denen Sie Hilfe benötigen?
credativ unterstützt Sie gern bei allen Ihren Anliegen, egal ob mit einem Vor-Ort-Workshop, zum Debugging, unkompliziert per Remotezugang, mit festem Supportvertrag oder auf stundenbasierter Abrechnung.
Folgend noch einmal unsere Leistungen in einer Stichpunktartigen Übersicht:
- Konzeption
- Umsetzung/Installation
- Betreuung
- Schulungen
- CI/CD
- Support
Haben wir Ihr Interesse geweckt?
Unsere Experten beantworten gerne Ihre individuellen Fragen und unterstützen Sie bei der Wahl der passenden Open Source Lösung für Ihr Vorhaben.
Das credativ®
Open Source Support Center
Unsere Antworten auf die häufigsten Fragen: