Was ist Kubernetes (K8s)? Vorteile und Einsatz von Kubernetes (2024)

  • Themen
  • Linux-Container
  • Was ist Kubernetes?

Aktualisiert 13. Februar 2024

Was ist Kubernetes (K8s)? Vorteile und Einsatz von Kubernetes (1)

RedHat ausgezeichnet als Leader im 2023Gartner® Magic Quadrant™

RedHat wurde im Gartner2023 Magic Quadrant für Container Management hinsichtlich der Ausführungsfähigkeit und bezüglich der umfassenden Vision bestplatziert.

Bericht lesen

Überblick

Kubernetes (auch bekannt als K8s oder „kube“) ist eine Open Source Container-Orchestrierungsplattform, mit der viele manuelle Prozesse im Zusammenhang mit dem Deployment, dem Management und der Skalierung von containerisierten Anwendungen automatisiert werden können.

Kubernetes wurde ursprünglich von Google Engineers als Borg-Projekt entwickelt und konzipiert. 2015 wurde es der Cloud Native Computing Foundation (CNCF) zur Verfügung gestellt. RedHat war bei der Entwicklung von Kubernetes einer der ersten Partner von Google, sogar noch vor dem Launch, und ist mittlerweile der zweitgrößte Mitwirkende am Kubernetes-Upstream-Projekt.

Top 10 Fakten über Kubernetes und Container

Was sind Kubernetes-Cluster?

Ein aktives Kubernetes-Deployment wird als Kubernetes-Cluster bezeichnet, also als eine Gruppe von Hosts, auf denen Linux®-Container ausgeführt werden. Ein Kubernetes-Cluster besteht aus 2Teilen: der Control Plane und den Rechenmaschinen oder Nodes.

Einführung in die Kubernetes-Architektur

Ein einzelner Node ist eine eigene Linux®-Umgebung und kann entweder eine physische oder eine virtuelle Maschine sein. Auf den Nodes werden Pods ausgeführt, die aus Containern bestehen.

Die ControlPlane ist für den gewünschten Zustand des Clusters verantwortlich und stellt beispielsweise fest, welche Anwendungen ausgeführt werden und welche ContainerImages sie verwenden. Rechenmaschinen sind für die Ausführung von Anwendungen und Workloads zuständig. Die Control Plane nimmt Befehle eines Admins (oder DevOps-Teams) entgegen und leitet sie an die Rechenmaschinen weiter.

Diese Übergabe erfolgt mit einer Vielzahl von Services, die automatisch entscheiden, welcher Node am besten für die Aufgabe geeignet ist. Die Services entkoppeln die Arbeitsdefinitionen der Pods und leiten Serviceanfragen automatisch an den richtigen Pod weiter– unabhängig davon, an welcher Stelle des Clusters er sich befindet oder ob er ersetzt wurde. Der Node weist Ressourcen zu und legt die Pods in diesem Node fest, die die gewünschte Aufgabe durchführen sollen.

Kubernetes läuft aufgesetzt auf ein Betriebssystem (zum Beispiel RedHat EnterpriseLinux) und interagiert mit den Pods von Containern, die auf den Nodes ausgeführt werden.

Dergewünschte Zustand des Kubernetes-Clusters definiert, welche Anwendungen oder anderen Workloads ausgeführt werden sollen, welche Images sie verwenden, welche Ressourcen für sie verfügbar gemacht werden sollen sowie weitere Konfigurationsdetails.

Am Management von Containern ändert sich bei dieser Art von Infrastruktur wenig. Ihre Beteiligung findet auf einer höheren Ebene statt, wobei die Notwendigkeit eines Mikromanagements der einzelnen Container oder Nodes entfällt.

Worauf Sie Kubernetes ausführen, liegt ganz bei Ihnen. Sie können BareMetal-Server, virtuelle Maschinen (VMs), PublicCloud-Anbieter, PrivateClouds und HybridCloud-Umgebungen verwenden. Einer der Hauptvorteile von Kubernetes ist, dass es auf diversen Infrastrukturarten ausgeführt werden kann.

Erfahren Sie mehr über die revolutionäre Bedeutung von Containern für die Open HybridCloud von den Experten bei RedHat.

Was ist der Unterschied zwischen Kubernetes und Docker?

Docker kann als ContainerRuntime verwendet werden, die von Kubernetes orchestriert wird. Wenn Kubernetes einen Pod für einen Node plant, gibt das Kubelet (der Service, der für das Ausführen der einzelnen Container sorgt) auf diesem Node Docker die Anweisung, die angegebenen Container zu starten.

Das Kubelet erfasst dann kontinuierlich den Status dieser Container von Docker und aggregiert diese Informationen in der Control Plane. Docker zieht Container auf diesen Node und startet und stoppt diese Container.

Der Unterschied bei der Verwendung von Kubernetes mit Docker besteht darin, dass ein automatisiertes System Docker auffordert, diese Dinge zu tun, und nicht ein Admin diese Aufgaben manuellauf sämtlichen Nodes für die verschiedenen Container ausführen muss.

Bereit für den Einstieg in Kubernetes? In diesem On-Demand-Kurs lernen Sie die Containerisierung von Anwendungen und Services, das Testen mit Docker und das Deployment in einem Kubernetes-Cluster mit RedHat OpenShift®.

Kostenloses Training jetzt startenIcon-Red_Hat-Directional-A-Black-RGB

Welche Vorteile haben Kubernetes?

Kubernetes unterstützt Sie beim Bereitstellen und Verwalten von containerisierten, cloudnativen und Legacy-Anwendungen sowie von Anwendungen, die in Microservices refaktorisiert werden.

Um den sich ändernden Geschäftsanforderungen gerecht zu werden, muss Ihr Entwicklungsteam in der Lage sein, neue Anwendungen und Services schnell zu erstellen. Die cloudnative Entwicklung beginnt mit Microservices in Containern, die eine beschleunigte Entwicklung ermöglichen und die Umwandlung und Optimierung bestehender Anwendungen erleichtern.

Anwendungsentwicklung mit Kubernetes

Produktionsanwendungen umfassen mehrere Container, und diese Container müssen auf mehreren Server-Hosts bereitgestellt werden. Kubernetes liefert Ihnen die Orchestrierungs- und Managementfunktionen, die Sie für eine skalierbare Container-Bereitstellung für diese Workloads benötigen.

Mit der Kubernetes-Orchestrierung können Sie Anwendungsservices entwickeln, die sich über mehrere Container erstrecken, diese Container clusterübergreifend planen, skalieren und ihren Zustand im Zeitverlauf überwachen. Mit Kubernetes unternehmen Sie effektiveSchritte zumehr IT-Sicherheit.

Kubernetes muss dazu mit Networking, Storage, Sicherheit, Telemetrie und anderen Services integriert werden, um eine umfassende Container-Infrastruktur bieten zu können.

Was ist Kubernetes (K8s)? Vorteile und Einsatz von Kubernetes (3)

Sobald diese Umgebung auf den Umfang einer Produktivumgebung und mehrere Anwendungen skaliert wird, benötigen Sie die Leistung mehrerer, nebeneinander lokalisierter Container, die die einzelnen Services bereitstellen.

Linux-Container eignen sich ideal zum eigenständigen Bereitstellen und Ausführen Ihrer microservice-basierten Apps. Und mit Microservices in Containern können Sie Ihre Services, wie Storage, Networking und Sicherheit, noch leichter orchestrieren.

Dadurch vervielfacht sich die Anzahl der Container in Ihrer Umgebung, und mit der Anzahl der Container wächst auch die Komplexität.

Kubernetes behebt eine Vielzahl der allgemeinen Probleme, die durch die wachsende Anzahl von Containern entstehen können, indem es sie in sogenannten „Pods“ zusammenfasst. Pods fügen den gruppierten Containern eine Abstraktionsschicht hinzu, die Ihnen hilft, Workloads zu planen und diesen Containern die notwendigen Services wie Networking und Storage zu liefern.

Andere Teile von Kubernetes helfen Ihnen, die Last über diese Pods zu verteilen und dafür zu sorgen, dass die richtige Anzahl an Containern für Ihre Workloads ausgeführt wird.

Mit der richtigen Implementierung von Kubernetes und der Unterstützung anderer OpenSource-Projekte wie Open vSwitch, OAuth und SELinux können Sie alle Teile Ihrer Container-Infrastruktur orchestrieren.

16Schritte zum Aufbau eines Kubernetes-ClustersIcon-Red_Hat-Directional-A-Black-RGB

Kubernetes mit RedHat

Kubernetes ist eine OpenSource-Technologie. Von daher gibt es keine formalisierte Supportstruktur für diese Technologie– zumindest keine, der Sie Ihren Geschäftserfolg anvertrauen würden. Wenn während der Produktion Probleme bei der Implementierung von Kubernetes auftreten würden, wären Sie wahrscheinlich frustriert. Ebenso Ihre Kunden.

Stellen Sie sich Kubernetes wie den Motor eines Autos vor. Dieser kann zwar auch alleine laufen, bildet aber erst im Verbund mit Getriebe, Achsen und Rädern ein funktionsfähiges Fahrzeug. Die bloße Installation von Kubernetes reicht nicht aus, um eine produktionsfähige Plattform zu erhalten. Kubernetes benötigt zusätzliche Komponenten, um voll funktionsfähig zu sein. Hierzu müssen Sie beispielsweise Authentifizierung, Networking, Sicherheit, Überwachung, Protokollmanagement und weitere Tools hinzufügen. Hier kommt RedHat OpenShift ins Spiel– diese Plattform ist das komplette Auto.

RedHat OpenShift ist eine Kubernetes-Plattform für Unternehmen. Sie integriert alle zusätzlichen Technologiekomponenten, dieKubernetes leistungsstark und unternehmenstauglich machen, darunterRegistry, Networking, Telemetrie, Sicherheit, Automatisierung und Services. RedHat OpenShift enthält Kubernetes als zentrale Komponente der Plattform und ist ein von der CNCF zertifiziertes Kubernetes-Angebot.

Mit RedHat OpenShift Container Platform können Entwicklungsteams neue containerisierte Apps erstellen, hosten und in der Cloud mit der Skalierbarkeit, Kontrolle und Orchestrierung bereitstellen, die erforderlich sind, um aus einer guten Idee schnell und einfach ein neues Business zu machen. Wenn Sie Ihre Kubernetes-Workloads in einem gemanagten Cloud-Service bereitstellen oder verschieben möchten, ist OpenShift auch als cloudnative Kubernetes-Plattform auf Amazon Web Services (AWS), Microsoft Azure, Google Cloud, IBM Cloud und anderen Anbietern verfügbar.

Basierend auf den Grundlagen von OpenShift können Sie Red Hat Advanced Cluster Management und Red Hat Ansible® Automation Platform zusammen verwenden, um mehrere Kubernetes-Cluster in verschiedenen Regionen und Umgebungen, einschließlich Public Cloud, On-Premises und am Edge, effizient bereitzustellen und zu verwalten.

Erfahren Sie, wie Red Hat Sie beim Aufbau und der Automatisierung von hybriden Umgebungen unterstützt

Use Case: Entwicklung einer Cloud-Plattform für innovative Banking-Services

Emirates NBD, eine der größten Banken in den Vereinigten Arabischen Emiraten (VAE), benötigte eine skalierbare, resiliente Basis für digitale Innovationen. Allerdings konnte dies mit den aktuellen langsamen Prozessen und der komplexen IT-Umgebung nicht realisiert werden. Die Einrichtung eines Servers dauerte 2Monate und Änderungen an großen, monolithischen Anwendungen mehr als 6Monate.

Mit RedHat OpenShift Container Platform für die Orchestrierung, Integration und Verwaltung von Containern entwickelte die Bank Sahab, die erste PrivateCloud, die von einer Bank im Nahen Osten in großem Umfang betrieben wird. Sahab bietet Anwendungen, Systeme und andere Ressourcen für die End-to-End-Entwicklung, von der Provisionierung bis zur Produktion, über ein As-a-Service-Modell.

Mit der neuen Plattform konnte Emirates NBD die Zusammenarbeit zwischen internen Teams und den Partnern verbessern, die APIs und Microservices verwenden. Und durch die Einführung von agilen und DevOps-Entwicklungspraktiken war die Bank in der Lage, Lancierungs- und Update-Zyklen für ihre Apps entscheidend zu verkürzen.

Container haben noch viel mehr zu bieten.

Was ist Kubernetes (K8s)? Vorteile und Einsatz von Kubernetes (2024)

FAQs

What is the difference between Kubernetes and K8s? ›

Kubernetes (sometimes shortened to K8s with the 8 standing for the number of letters between the “K” and the “s”) is an open source system to deploy, scale, and manage containerized applications anywhere.

What are the advantages of Kubernetes? ›

Kubernetes helps DevOps teams work more efficiently, too. With Kubernetes, DevOps engineers can build, test, and deploy microservices apps in the same platform. This benefit eliminates the headache and risk that occur when apps developed in one platform have to move to a different one for production.

Is K8 the same as Kubernetes? ›

Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.

Why is Kubernetes referred to as K8s? ›

Kubernetes services, support, and tools are widely available. The name Kubernetes originates from Greek, meaning helmsman or pilot. K8s as an abbreviation results from counting the eight letters between the "K" and the "s". Google open-sourced the Kubernetes project in 2014.

What are K8s in Kubernetes? ›

A Kubernetes (K8s) cluster is a group of computing nodes, or worker machines, that run containerized applications.

Why is K8s important? ›

Kubernetes also known as K8 is one of the leading open-source container orchestration platforms available today. It provides the framework to scale and automate the software deployment. Moreover, it also manages containerized applications in a dynamic containerized environment.

Why is Kubernetes so difficult? ›

The major problem with Kubernetes is that it's architecture is designed for scale, it was originally built by Google to manage large clusters at scale. It is highly distributed by design, with microservices at its core.

Is K8s better than Docker? ›

Docker Vs Kubernetes: Networking and Service Discovery

Docker provides basic networking capabilities, allowing containers to communicate with each other and the host system. However, Kubernetes offers a more advanced networking model, providing service discovery, load balancing, and network policies out of the box.

When not to use K8s? ›

You should not use Kubernetes if:
  • If you have a small engineering team and do not have much need for scalability.
  • If your application is relatively simple, does not require high availability, and is not performance intensive application.
  • If your application is a traditional monolith application not need an upgrade.
Sep 23, 2022

How does K8s work? ›

Kubernetes networking works by creating pods and services. A pod is a group of one or more containers that are deployed together and share a network namespace and IP address. Containers within a pod can communicate with each other using a localhost. Services are used to expose one or more pods to the outside world.

What is K8s role? ›

Role: A Role is a collection of permissions that allow users to perform specific actions (verbs, such as “get”, “create”, “and “delete”) on a defined set of Kubernetes resource types (such as Pods, Deployments, and Namespaces).

What is the meaning of K8? ›

K8s and K8 is an abbreviation for Kubernetes. Let me explain about Kubernetes. Kubernetes is an open-source platform used for maintaining and deploying a group of containers. In practice, Kubernetes is most commonly used alongside Docker for better control and implementation of containerized applicati…

Is Kubernetes a pod or container? ›

Pods in a Kubernetes cluster are used in two main ways: Pods that run a single container. The "one-container-per-Pod" model is the most common Kubernetes use case; in this case, you can think of a Pod as a wrapper around a single container; Kubernetes manages Pods rather than managing the containers directly.

Does K8s still use Docker? ›

You can actually choose from a variety of options when it comes to what software you want to use as your container runtime when running Kubernetes. Up to now, a fairly popular option was to use Docker as the container runtime. However, this will no longer be an option in the future.

What is the difference between K8 and k9 Kubernetes? ›

In summary, Kubernetes (K8s) is the container orchestration platform itself, while K9s is a tool designed to enhance the management and monitoring of Kubernetes clusters through a terminal-based UI. They serve different purposes but are often used together to streamline Kubernetes cluster operations.

Top Articles
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6718

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.