- Home
- /
- Blog
- /
- Glossar
- /
- Tools & Methoden
- /
- Kubernetes
Was ist Kubernetes?
Kubernetes ist ein Container-Orchestrierungs-System. Das bedeutet: Die Software soll nicht etwa Container erstellen, sondern diese verwalten. Dies geschieht durch die Automatisierung von Prozessen. So fällt es Entwicklern leichter, Anwendungen zu testen, zu warten oder zu veröffentlichen.
Wofür wird es verwendet?
Als erstes Projekt der Cloud Native Cloud Foundation (CNCF) ist Kubernetes nach Linux das am schnellsten gewachsene Projekt in der Geschichte der Open-Source-Software. Es hat einige Funktionen und dient beispielsweise als:
- Containerplattform
- Microservices-Plattform
- Portable Cloud-Plattform
Mit seiner containerzentrierten Managementumgebung koordiniert es die Computer-, Netzwerk- und Speicherinfrastruktur im Namen der Benutzer-Workloads.
Was macht Kubernetes?
Mit Kubernetes wird die Bereitstellung, Skalierung und das Management von Containern Anwendungen automatisiert. Kubernetes erleichtert die Bereitstellung und den Betrieb von Anwendungen in einer Microservice-Architektur. Dazu wird eine Abstraktionsschicht über einer Gruppe von Hosts erstellt, sodass Entwicklungsteams ihre Anwendungen bereitstellen.
Folgenden Aktivitäten werden verwaltet:
- Kontrolle des Ressourcenverbrauchs nach Anwendung oder Team
- Gleichmäßige Verteilung der Anwendungslast über eine Host-Infrastruktur
- Automatisches Load-Balancing von Anfragen über die verschiedenen Instanzen einer Anwendung
- Überwachen des Ressourcenverbrauchs und der Ressourcengrenzen, um Anwendungen automatisch daran zu hindern, zu viele Ressourcen zu verbrauchen und die Anwendungen erneut zu starten
- Verschieben einer Anwendungsinstanz von einem Host auf einen anderen, wenn auf einem Host Ressourcenknappheit besteht oder der Host ausfällt
- Automatische Nutzung zusätzlicher Ressourcen, die beim Hinzufügen eines neuen Hosts zum Cluster bereitgestellt werden
- Einfache Durchführung von Canary-Bereitstellungen und -Rollbacks
Was sind die Vorteile?
1. Geschwindigkeit
Mit Kubernetes können Sie eine Self-Service-Plattform als Service (PaaS) bereitstellen, die eine Hardware-Abstraktionsschicht für Entwicklungsteams schafft. Ihre Entwicklungsteams können schnell und effizient die benötigten Ressourcen anfordern. Wenn Sie mehr Ressourcen benötigen, um zusätzliche Lasten zu bewältigen, können sie diese schnell erhalten, da die Ressourcen alle aus einer gemeinsam genutzten Infrastruktur stammen.
2. Kosteneffizienz
Kubernetes und Container ermöglichen eine viel bessere Ressourcenauslastung als Hypervisoren und virtuelle Maschinen. Da Container leichtgewichtig sind, benötigen sie weniger CPU- und Arbeitsspeicherressourcen, um ausgeführt zu werden.
3. Einfache Skalierbarkeit
Statt derzeit nicht benötigte Ressourcen weiterlaufen zu lassen, kann Kubernetes instruiert werden, um diese wieder freizugeben. Sie können entweder für andere Tasks eingesetzt oder einfach gar nicht benutzt werden, um Kosten zu sparen.
4. Portabilität zwischen Infrastrukturanbietern
Kubernetes läuft auf Amazon Web Services (AWS), Microsoft Azure und der Google Cloud Plattform (GCP), aber es kann auch lokal ausgeführt werden. Die Cloud-Plattformen lassen sich verknüpfen. Sie können Workloads verschieben und auch parallel lokale Server nutzen, ohne Ihre Anwendungen neu entwerfen oder Ihre Infrastruktur komplett überdenken zu müssen. So vermeiden Sie eine Anbieterbindung und haben viele Möglichkeiten für die Skalierung.
Einsatz von Kubernetes bei Wilde-IT
In der Software-Entwicklung spielt Kubernetes inzwischen eine große Rolle – besonders bei agilen Projekten. Darum setzen wir es bei Wilde-IT auch ein, um die Bereitstellung neuer Funktionen zu beschleunigen, die Stabilität der Infrastruktur zu optimieren und manuelle Arbeiten beim Aufbau und Betrieb von Container-Umgebungen zu automatisieren.