{"id":20188,"date":"2023-12-08T16:01:00","date_gmt":"2023-12-08T15:01:00","guid":{"rendered":"https:\/\/contabo.com\/blog\/kubernetes-grundlagen\/"},"modified":"2025-08-10T22:22:52","modified_gmt":"2025-08-10T20:22:52","slug":"kubernetes-grundlagen","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/de\/kubernetes-grundlagen\/","title":{"rendered":"Was ist Kubernetes?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes.jpg.webp\" alt=\"\"\/><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Willkommen zu unserem Guide \u00fcber die Grundlagen von <a href=\"https:\/\/kubernetes.io\/\" rel=\"nofollow\">Kubernetes<\/a>! Kubernetes, oft als <strong>K8s<\/strong> abgek\u00fcrzt, ist eine Open-Source-Plattform, die f\u00fcr die automatische Bereitstellung, Skalierung und den Betrieb von Anwendungscontainern entwickelt wurde. Im Kern bietet Kubernetes ein Framework f\u00fcr den stabilen Betrieb verteilter Systeme, mit dem sich Aufgaben wie Ausfallsicherung, Skalierung und Bereitstellung effizient bew\u00e4ltigen lassen. Dabei werden die Container, aus denen eine Anwendung besteht, zur Vereinfachung der Verwaltung und Erkennung in logische Einheiten gruppiert.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-warum-brauchen-wir-kubernetes\">Warum brauchen wir Kubernetes?<\/h3>\n\n\n\n<p>In der schnelllebigen digitalen Welt von heute streben Organisationen st\u00e4ndig nach mehr Effizienz und Agilit\u00e4t in der Anwendungsentwicklung und -verwaltung. Kubernetes erf\u00fcllt diese Anforderung, indem es den Prozess der Bereitstellung und Verwaltung komplexer Anwendungen vereinfacht. Es \u00fcbernimmt die Skalierung und Ausfallsicherung von Anwendungen, stellt Bereitstellungsmuster bereit und vieles mehr. Das bedeutet, dass sich Entwickler auf ihre Anwendungen konzentrieren k\u00f6nnen, w\u00e4hrend Kubernetes sich um die betrieblichen Herausforderungen k\u00fcmmert. Dadurch wird nicht nur die Produktivit\u00e4t verbessert, sondern auch die Zuverl\u00e4ssigkeit und Skalierbarkeit der Anwendungen erh\u00f6ht.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-grundlegende-konzepte-von-kubernetes\">Grundlegende Konzepte von Kubernetes<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-container-und-kubernetes\">Container und Kubernetes<\/h4>\n\n\n\n<p>Ein <strong>Container<\/strong> ist ein leichtgewichtiges, eigenst\u00e4ndiges Paket, das alles enth\u00e4lt, was zur Ausf\u00fchrung einer Software ben\u00f6tigt wird \u2013 einschlie\u00dflich Code, Laufzeitumgebung, System-Tools, Bibliotheken und Einstellungen. Container sind voneinander und vom Hostsystem isoliert, wodurch sie portabel und \u00fcber verschiedene Umgebungen hinweg konsistent sind.<\/p>\n\n\n\n<p>Kubernetes geht bei der Containerisierung noch einen Schritt weiter: Es <strong>orchestriert<\/strong> diese Container. Es stellt sicher, dass sie dort laufen, wo und wann du es m\u00f6chtest, und unterst\u00fctzt sie dabei, bei Bedarf hochzuskalieren. Kubernetes bietet ein Framework f\u00fcr den stabilen Betrieb verteilter Systeme und verwaltet containerisierte Anwendungen auf mehreren Hosts. Es automatisiert die Bereitstellung, Skalierung und den Betrieb und erleichtert so die Verwaltung komplexer Anwendungen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-nodes-und-cluster-verstehen\">Nodes und Cluster verstehen<\/h4>\n\n\n\n<p>Im Zentrum von Kubernetes stehen zwei Schl\u00fcsselkonzepte: Nodes und Cluster.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nodes (Knoten):<\/strong> Ein Node ist die kleinste Recheneinheit im Kubernetes-\u00d6kosystem. Dies kann eine physische oder eine virtuelle Maschine sein, auf der die Container ausgef\u00fchrt werden. Jeder Node verf\u00fcgt \u00fcber die erforderlichen Dienste, um Container auszuf\u00fchren und von Kubernetes verwaltet zu werden.<\/li>\n\n\n\n<li><strong>Cluster:<\/strong> Ein Cluster ist eine Gruppe von Nodes. Hier laufen alle von Kubernetes verwalteten Container-Anwendungen. Ein Cluster bietet die hohe Verf\u00fcgbarkeit, Skalierbarkeit und Redundanz, f\u00fcr die Kubernetes bekannt ist. Wenn du Anwendungen in Kubernetes bereitstellst, werden diese in einem Cluster bereitgestellt. Zu den Hauptkomponenten des Clusters geh\u00f6ren eine <strong>Steuerungsebene<\/strong> (die globale Entscheidungen \u00fcber den Cluster trifft) und die <strong>Worker Nodes<\/strong> (auf denen die Anwendungen tats\u00e4chlich laufen).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-kubernetes-einrichten\">Kubernetes einrichten<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-kubernetes-installieren\">Kubernetes installieren<\/h4>\n\n\n\n<p>Zu den ersten Schritten mit Kubernetes geh\u00f6rt die Einrichtung der Umgebung. Du kannst Kubernetes auf verschiedenen Plattformen installieren, einschlie\u00dflich lokaler Maschinen, Cloud-Diensten wie unseren <a href=\"https:\/\/contabo.com\/de\/vps\/\">VPS<\/a>, <a href=\"https:\/\/contabo.com\/en\/vds\/\">VDS<\/a> oder <a href=\"https:\/\/contabo.com\/en\/dedicated-servers\/\">Dedicated Servern<\/a> sowie in hybriden Systemen.<\/p>\n\n\n\n<p>F\u00fcr ein lokales Setup sind Tools wie <strong><a href=\"https:\/\/minikube.sigs.k8s.io\/docs\/start\/\" rel=\"nofollow\">Minikube<\/a><\/strong> oder <strong><a href=\"https:\/\/kind.sigs.k8s.io\/\" rel=\"nofollow\">Kind<\/a><\/strong> beliebt, da sie eine einfache M\u00f6glichkeit bieten, einen Kubernetes-Cluster auf dem eigenen Rechner zu erstellen. F\u00fcr Cloud-basierte L\u00f6sungen bieten die meisten gro\u00dfen Anbieter verwaltete Kubernetes-Dienste an (wie GKE von Google, EKS von Amazon oder AKS von Microsoft), die die Erstellung und Verwaltung von Clustern vereinfachen.<\/p>\n\n\n\n<p>Der Installationsprozess umfasst im Allgemeinen folgende Schritte:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Einrichtung einer Maschine (physisch oder virtuell), die die Systemanforderungen von Kubernetes erf\u00fcllt.<\/li>\n\n\n\n<li>Installation einer Container-Laufzeitumgebung wie zum Beispiel <strong>Docker<\/strong>. (Lies dazu unseren Guide: \u201e<a href=\"https:\/\/contabo.com\/blog\/de\/docker-installation-mit-cloud-init\/\" target=\"_blank\" rel=\"noreferrer noopener\">Wie man Docker mit Cloud-Init installiert<\/a>\u201c)<\/li>\n\n\n\n<li>Die Installation von Kubernetes selbst, welche die Einrichtung der Steuerungsebene und der Worker-Knoten umfasst.<\/li>\n\n\n\n<li>Konfiguration der <a href=\"https:\/\/contabo.com\/blog\/de\/software-firewall-unter-windows-und-linux\/\">Netzwerkeinstellungen<\/a>, um die Kommunikation zwischen der Steuerungsebene und den Worker-Knoten zu erm\u00f6glichen.<\/li>\n<\/ol>\n\n\n\n<p>F\u00fcr eine erfolgreiche Installation ist es wichtig, der spezifischen Installationsanleitung f\u00fcr die von dir gew\u00e4hlte Plattform zu folgen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-uberblick-uber-die-wichtigsten-komponenten\">\u00dcberblick \u00fcber die wichtigsten Komponenten<\/h4>\n\n\n\n<p>Sobald Kubernetes installiert ist, ist es wichtig, seine Schl\u00fcsselkomponenten zu verstehen. Diese arbeiten zusammen, um den Zustand deines Clusters zu verwalten und deine Anwendungen auszuf\u00fchren.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Steuerungsebene (Control Plane):<\/strong> Sie ist verantwortlich f\u00fcr globale Entscheidungen \u00fcber den Cluster, wie z. B. die Planung von Anwendungen sowie die Erkennung von und Reaktion auf Cluster-Ereignisse. Zu ihren Schl\u00fcsselelementen geh\u00f6ren der <code>kube-api-server<\/code>, <code>etcd<\/code> (ein Key-Value-Speicher f\u00fcr alle Cluster-Daten), der <code>scheduler<\/code> und der <code>controller-manager<\/code>.<\/li>\n\n\n\n<li><strong>Worker Nodes:<\/strong> Dies sind die Maschinen, die deine Anwendungen und Workloads ausf\u00fchren. Jeder Node hat ein <code>kubelet<\/code> (ein Agent zur Verwaltung des Nodes) und eine Container-Laufzeitumgebung.<\/li>\n\n\n\n<li><strong>Pods:<\/strong> Die kleinste bereitstellbare Einheit in Kubernetes. Ein Pod repr\u00e4sentiert eine einzelne Instanz einer Anwendung und enth\u00e4lt einen oder mehrere Container.<\/li>\n\n\n\n<li><strong>Services und Ingress:<\/strong> Diese Komponenten bieten Mechanismen, um deine Anwendungen innerhalb und au\u00dferhalb des Clusters verf\u00fcgbar zu machen und die Kommunikation zu steuern.<\/li>\n\n\n\n<li><strong>Speicher (Storage):<\/strong> Konzepte wie Volumes und PersistentVolumes erm\u00f6glichen es, Daten dauerhaft zu speichern und zustandsbehaftete Anwendungen zu betreiben.<\/li>\n\n\n\n<li><strong>ConfigMaps und Secrets:<\/strong> Damit verwaltest du Konfigurationsdaten und sensible Informationen (wie Passw\u00f6rter oder API-Schl\u00fcssel) f\u00fcr deine Anwendungen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-anwendungen-bereitstellen\">Anwendungen bereitstellen<\/h3>\n\n\n\n<p>In diesem Kapitel befassen wir uns mit den praktischen Aspekten der Bereitstellung und Verwaltung von Anwendungen in Kubernetes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-pods-erstellen-und-verwalten\">Pods erstellen und verwalten<\/h4>\n\n\n\n<p>Die Bereitstellung von Anwendungen in Kubernetes beginnt mit Pods.<\/p>\n\n\n\n<p><strong>Pods erstellen:<\/strong><\/p>\n\n\n\n<p>Definiere einen Pod: Dies geschieht mittels einer YAML- oder JSON-Datei, dem sogenannten Manifest. Das Manifest beschreibt den Inhalt des Pods, wie das zu verwendende Container-Image, Ports und Speicher-Volumes.Hier ist ein Beispiel f\u00fcr eine Pod-Konfiguration, die einen Apache-Webserver ausf\u00fchrt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1 \n\nkind: Pod \n\nmetadata: \n\n  name: apache-pod \n\n  labels: \n\n    purpose: serve-web \n\nspec: \n\n  containers: \n\n  - name: apache-container \n\n    image: httpd \n\n    ports: \n\n    - containerPort: 80<\/code><\/pre>\n\n\n\n<p>Pod bereitstellen: Verwende den Befehl kubectl apply mit der Manifest-Datei, um den Pod in deinem Cluster zu erstellen.F\u00fcr unseren Beispiel-Pod w\u00fcrde der Befehl lauten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>kubectl apply -f apache-pod.yaml<\/code><\/code><\/pre>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\"><\/ol>\n\n\n\n<p><strong>Pods verwalten:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u00dcberwachung:<\/strong> Pr\u00fcfe den Status der Pods mit <code>kubectl get pods<\/code>.<\/li>\n\n\n\n<li><strong>Debugging und Logs:<\/strong> Benutze <code>kubectl logs [POD_NAME]<\/code>, um die Protokolle eines Pods einzusehen, was f\u00fcr die Diagnose von Problemen entscheidend ist.<\/li>\n\n\n\n<li><strong>Pods l\u00f6schen:<\/strong> Pods k\u00f6nnen mit <code>kubectl delete pod [POD_NAME]<\/code> entfernt werden.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-services-verbinden-und-skalieren\">Services: Verbinden und Skalieren<\/h4>\n\n\n\n<p><strong>Services<\/strong> in Kubernetes sind eine abstrakte Methode, um eine Anwendung, die auf einer Gruppe von Pods l\u00e4uft, als Netzwerkdienst verf\u00fcgbar zu machen. Sie bieten eine stabile Adresse, um auf die Pods zuzugreifen, selbst wenn diese neu gestartet werden und ihre IP-Adressen \u00e4ndern.<\/p>\n\n\n\n<p>Services erstellen:<\/p>\n\n\n\n<p>Wie Pods werden auch Services in einer YAML-Datei definiert. Die Service-Definition enth\u00e4lt Selektoren, um die zugeh\u00f6rigen Pods zu bestimmen, sowie die Ports, die freigegeben werden sollen. Der Dienst wird ebenfalls mit kubectl apply erstellt.<\/p>\n\n\n\n<p><strong>Arten von Services:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ClusterIP (Standard):<\/strong> Macht den Service nur \u00fcber eine interne IP-Adresse innerhalb des Clusters erreichbar.<\/li>\n\n\n\n<li><strong>NodePort:<\/strong> Macht den Service auf der IP-Adresse jedes Nodes an einem festen, statischen Port verf\u00fcgbar. Dies erm\u00f6glicht externen Zugriff.<\/li>\n\n\n\n<li><strong>LoadBalancer:<\/strong> Integriert sich mit Cloud-basierten Load Balancern, um den Service extern bereitzustellen. Dies wird h\u00e4ufig in Cloud-Umgebungen verwendet.<\/li>\n<\/ul>\n\n\n\n<p><strong>Anwendungen skalieren:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Horizontale Pod-Autoskalierung:<\/strong> Erh\u00f6ht oder verringert automatisch die Anzahl der Pod-Replikate basierend auf der CPU-Auslastung oder anderen Metriken.<\/li>\n\n\n\n<li><strong>ReplicaSets und Deployments:<\/strong> Verwalten die Bereitstellung und Skalierung von Pods und erm\u00f6glichen deklarative Updates f\u00fcr Anwendungen.<\/li>\n<\/ul>\n\n\n\n<p>Nachdem du nun die Grundlagen von Kubernetes kennst, werde mit unserem n\u00e4chsten Guide in dieser Reihe zum Kubernetes-Profi: \u201e<a target=\"_blank\" rel=\"noreferrer noopener nofollow\" href=\"https:\/\/www.google.com\/search?q=URL-HIER-EINF%C3%9CGEN\">Mastering Kubernetes<\/a>\u201c.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entdecke die Kubernetes-Grundlagen: ein aufschlussreicher Leitfaden zu Kubernetes, der grundlegende Konzepte, die Architektur und vieles mehr behandelt.<\/p>\n","protected":false},"author":50,"featured_media":18677,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1399],"tags":[],"ppma_author":[1491],"class_list":["post-20188","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes.jpg",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes-150x150.jpg",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes-600x315.jpg",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes-768x403.jpg",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes.jpg",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes.jpg",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/12\/blog-head_the-basics_kubernetes.jpg",1200,630,false]},"uagb_author_info":{"display_name":"Tobias Mildenberger","author_link":"https:\/\/contabo.com\/blog\/de\/author\/tobias\/"},"uagb_comment_info":0,"uagb_excerpt":"Entdecke die Kubernetes-Grundlagen: ein aufschlussreicher Leitfaden zu Kubernetes, der grundlegende Konzepte, die Architektur und vieles mehr behandelt.","authors":[{"term_id":1491,"user_id":50,"is_guest":0,"slug":"tobias","display_name":"Tobias Mildenberger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/077178d5dce6c3d4c0c0396857a7e544bfdf8adf04145fff5160b33a22e28b1f?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/20188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=20188"}],"version-history":[{"count":5,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/20188\/revisions"}],"predecessor-version":[{"id":24896,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/20188\/revisions\/24896"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media\/18677"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=20188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=20188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=20188"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/ppma_author?post=20188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}