Was ist Kubernetes?

Kubernetes ist Open-Source-Orchestrierungssoftware zum Bereitstellen, Verwalten und Skalieren von Containern.

Kubernetes im Überblick

Anwendungen werden heute zunehmend containerbasiert erstellt und sind somit Microservicepakete mit Abhängigkeiten und Konfigurationen. Kubernetes (Aussprache: „Kuu-ber-net-iis“) ist eine Open-Source-Software zum Bereitstellen und Verwalten dieser Container im großen Stil. Der Name stammt von dem griechischen Wort für Steuermänner oder Piloten. Verwenden Sie Kubernetes (manchmal als „K8s“ oder „K-Eights“ bezeichnet), um containerbasierte Apps schneller zu erstellen, auszuliefern und zu skalieren.

Lernen Sie Kubernetes mit diesem einfachen Lernpfad kennen

Funktionsweise von Kubernetes

Während Anwendungen immer größer werden, um mehrere Container, die auf mehreren Servern bereitgestellt sind, zu verbinden, wird auch deren Betreibung immer komplexer. Aufgrund dieser Komplexität stellt Kubernetes eine Open-Source-API bereit, die steuert, wie und wo diese Container ausgeführt werden.

Kubernetes orchestriert die Cluster virtueller Computern und plant, wann Container auf diesen virtuellen Computern basierend auf den verfügbaren Computeressourcen und den Ressourcenanforderungen jedes Containers ausgeführt werden. Container werden in Pods gruppiert. Pods stellen die grundlegende Vorgangseinheit für Kubernetes dar, die nach Ihren Vorgaben skaliert werden kann.

Kubernetes verwaltet die Dienstermittlung außerdem automatisch, integriert den Lastenausgleich, verfolgt die Ressourcenzuordnung nach und passt die Skalierung nach Computeauslastung an. Zudem überprüft der Dienst die Integrität der einzelnen Ressourcen und ermöglicht es Apps, sich durch Neustarts oder das Replizieren von Containern selbst zu reparieren.

Weitere Videos zu den Grundlagen für Kubernetes

Welche Vorteile bietet Kubernetes?

Das Einrichten und Ausführen containerisierter Apps kann komplex sein, da häufig viele Container auf verschiedenen Computern bereitgestellt werden. Kubernetes bietet eine Möglichkeit, diese Container zu planen, bereitzustellen, diese nach Bedarf zu skalieren und ihre Lebenszyklen zu verwalten. Verwenden Sie Kubernetes, um Ihre containerbasierten Anwendungen portierbar, skalierbar und erweiterbar zu implementieren.

Portierbare Workloads

Da Container-Apps von Ihrer Infrastruktur getrennt sind, werden sie portierbar, wenn Sie sie in Kubernetes ausführen. Sie können Sie von lokalen Computern in die Produktion verschieben – ob Sie eine lokale Umgebung, eine Hybrid-Cloud-Umgebung oder eine Multi-Cloud-Umgebung nutzen. Dabei wird die umgebungsübergreifende Konsistenz gewahrt.

Einfache Containerskalierung

Definieren Sie komplexe containerbasierte Anwendungen, und stellen Sie diese dank Kubernetes in einem Servercluster oder sogar in mehreren Clustern bereit. Da Kubernetes Anwendungen nach Bedarf skaliert, wird die Integrität Ihrer Container automatisch überwacht und sichergestellt.

Erweiterbare Apps

Eine große Open-Source-Community aus Entwicklern und Unternehmen erstellt aktiv Erweiterungen und Plug-Ins, die Kubernetes mit Sicherheits-, Überwachungs- und Verwaltungsfunktionen ergänzen. Zudem schreibt das Certified Kubernetes Conformance Program vor, dass jede Kubernetes-Version bestimmte APIs unterstützt, die die Nutzung dieser Communityangebote erleichtern.

Erste Schritte mit Kubernetes

Einstieg in die Bereitstellung und Verwaltung von Containeranwendungen

Dem Lernpfad folgen

Praxiserfahrung mit Kubernetes-Komponenten, -Funktionen und -Lösungen

Entwickeln auf einer vollständigen Kubernetes-Plattform

Obwohl Kubernetes bereits Portierbarkeit, Skalierbarkeit und Erweiterbarkeit bietet, ermöglicht Ihnen das Hinzufügen umfangreicher Features für Entwicklung, Betrieb und Sicherheitskontrolle die noch schnellere Bereitstellung von Updates. Dabei werden Sicherheit und Zuverlässigkeit nicht beeinträchtigt, und Sie sparen Zeit bei der Infrastrukturverwaltung. Bedenken Sie auch Folgendes, wenn Sie Kubernetes einführen:

  1. Automatisierte Infrastruktur oder serverloses Kubernetes, die Routineaufgaben wie Bereitstellen, Patchen und Upgraden übernehmen.

    Beispiele
  2. Tools für die Entwicklung containerbasierter Apps sowie für Continuous-Integration- und Continuous-Deployment-Workflows (CI/CD).

    Beispiele
  3. Dienste für die Verwaltung von Sicherheit, Governance, Identität und Zugriff.

    Beispiele

Ergänzen Sie Kubernetes durch DevOps-Methoden

Wenn eine Kubernetes-App umfangreicher wird, weil Container, Umgebungen und Teams hinzugefügt werden, erhöhen sich in der Regel auch die Releasehäufigkeit und die Komplexität bei der Entwicklung und im Betrieb. Durch die Einführung von DevOps-Methoden in Kubernetes-Umgebungen können Sie schnell, bedarfsorientiert und mit erhöhter Sicherheit arbeiten.

Schnellere Codelieferung dank CI/CD

Während Container ein konsistentes Paketformat für Anwendungen bieten, das die Zusammenarbeit von Entwicklungs- und Betriebsteams erleichtert, kann CI/CD den Wechseln von Code zu Containern und in einen Kubernetes-Cluster innerhalb von Minuten ermöglichen, indem es solche Aufgaben automatisiert.

Einrichten von CI/CD für Kubernetes

Effizientes Verwalten von Ressourcen mit Infrastructure-as-Code

Infrastructure-as-Code (IaC) ermöglicht die Konsistenz und Sichtbarkeit von Computeressourcen zwischen verschiedenen Teams und verringert so die Wahrscheinlichkeit von Benutzerfehlern. Diese Methode basiert darauf, dass Kubernetes-Anwendungen durch Helm von Natur aus deklarativ sind. Wird beides kombiniert, können Sie Apps, Ressourcen und Konfigurationen auf eine zuverlässige, nachverfolgbare und wiederholbare Weise definieren.

Bereitstellen eines Kubernetes-Clusters mit Terraform

Beschleunigen der Feedbackschleife mit konstanter Überwachung

Durch die vollständige Übersicht über Ihre Ressourcen, Ihren Clusters, Ihre Kubernetes-API, Ihre Container und Ihren Code können Fehler schneller behoben werden – von der Integritätsüberwachung der Container bis zur zentralisierten Protokollierung. Diese Ansicht ist hilfreich, um Ressourcenengpässe zu vermeiden, böswillige Anforderungen zu überwachen und die Integrität Ihrer Kubernetes-Anwendungen sicherzustellen.

Containererkenntnisse in Echtzeit

Ausgleich von Geschwindigkeit und Sicherheit mit DevOps

Integrieren Sie Echtzeitüberwachung in Ihren DevOps-Workflow, ohne die Geschwindigkeit zu beeinträchtigen. Führen Sie automatisch Kompatibilitätsprüfungen und Neukonfigurationen durch, um Ihren Build und Ihre Releasepipeline – und dadurch auch Ihre Kubernetes-Anwendung – zu schützen.

Kontinuierliche Sicherheit in Aktion

DevOps-Beispielworkflow mit Kubernetes

  1. 1Schnelles Durchlaufen, Testen und Debuggen verschiedener Teile einer Anwendung im selben Kubernetes-Cluster.
  2. 2Mergen und Überprüfen von Code in einem GitHub-Repository für Continuous Integration. Anschließendes Ausführen automatischer Builds und Tests als Teil von Continuous Delivery.
  3. 3Überprüfen der Quelle und Integrität von Containerimages. Images werden unter Quarantäne gestellt, bis ihre Überprüfung erfolgreich abgeschlossen ist.
  4. 4Bereitstellen von Kubernetes-Clustern mit Tools wie Terraform. Mit Terraform installierte Helm-Charts definieren den gewünschten Zustand von App-Ressourcen und -konfigurationen.
  5. 5Erzwingen von Richtlinien zum Steuern von Bereitstellungen im Kubernetes-Cluster.
  6. 6Die Releasepipeline führt automatisch eine vordefinierte Bereitstellungsstrategie mit jedem Codeausschnitt aus.
  7. 7Fügen Sie Richtlinienüberwachung und automatische Fehlerbehebung für die CI/CD-Pipeline hinzu. Beispielsweise darf nur die Releasepipeline in Ihrer Kubernetes-Umgebung neue Pods erstellen.
  8. 8Ermöglichen Sie App-Telemetrie, Systemüberwachung für Container und Protokollanalyse in Echtzeit.
  9. 9Behandeln Sie Probleme mithilfe kognitiver Erkenntnisse, und entwickeln Sie darauf basierend Pläne für den nächsten Sprint.

Mit Azure auf die Stärken von Kubernetes bauen

Automatisieren von Bereitstellung, Durchführung von Upgrades, Überwachung und Skalierung mit dem vollständig verwalteten Microsoft Azure Kubernetes Service (AKS). Verwenden Sie die serverlose Kubernetes-Plattform für einen einfacheren Prozess von der Entwicklung bis zur Produktion, und nutzen Sie Sicherheits- und Governancefeatures auf Unternehmensniveau.

Weitere Informationen zu AKS

Inspiration und Innovation aus der Kubernetes-Community

Kubernetes ist durch die Zusammenarbeit von Tausenden Einzelpersonen und Hunderten Organisationen entstanden, die sich alle mit Ihrem Wissen, Ihrem Code und fortlaufenden Benutzersupport eingebracht haben – und auch weiterhin zum Erfolg des Systems beitragen. Nutzen Sie dieses Gemeinschaftsprojekt als Grundlage für den Erfolg Ihrer eigenen Software.

35,000
Beitragende
180,000
Commits
Top-Projekt
in GitHub

Microsoft-Beiträge zu Kubernetes

Open-Source-Ideen für Unternehmen

Damit Kubernetes für Organisationen einfacher einzuführen – und für die Entwickler einfacher zu verwenden – ist, hat Microsoft die Anzahl der beteiligten Mitarbeiter an dem Open-Source-Projekt in nur drei Jahren verdreifacht. Als das Unternehmen mit den drittmeisten Beiträgen arbeitet Microsoft nun daran, Kubernetes unternehmensfreundlicher und zugänglicher zu machen, indem die aktuellsten Erkenntnisse und Best Practices aus der Arbeit mit den verschiedensten Kunden in die Kubernetes-Community eingebracht werden.

FAQs – Kubernetes

  • Folgen Sie diesem Lernpfad zum Thema, um das Arbeiten mit Kubernetes kennenzulernen.

  • Kubernetes ist für verschiedene Szenarios nützlich, beispielsweise, um Anwendungen in die Cloud zu verschieben oder um Herausforderungen von Machine Learning und KI zu vereinfachen.

    Wichtige Anwendungsfälle:

  • Sehen Sie sich hierzu Best Practices und Architekturmuster an, die von den Tausenden technischen Mitarbeitern und Partnern, die Kubernetes verwenden, erstellt wurden.

  • Bei einer Kubernetes-Bereitstellung können Sie den gewünschten Bereitstellungszustand für Ihre Anwendung beschreiben. Der Kubernetes-Planer stellt sicher, dass der tatsächliche Zustand dem gewünschten Zustand entspricht – und dass dieser Zustand beim Absturz eines oder mehrerer Pods erhalten bleibt. Kubernetes-Bereitstellungen ermöglichen Ihnen auch das konsistente Ausführen von Upgrades für Ihre Anwendungen ohne Ausfallzeiten.

    Weitere Informationen finden Sie unter Kubernetes-Bereitstellungsstrategien
  • Die Bereitstellung für Kubernetes mithilfe von DevOps umfasst typischerweise ein Repository wie Git zur Versionsverwaltung. Das Repository dient als Anfang der CI/CD-Zeile. Je nachdem, welchen Ansatz Sie verwenden, lösen Änderungen im Repository Integrations-, Build-, Übergabe- und Bereitstellungsaktivitäten aus.

    Detaillierte Erklärung der Funktionsweise von AKS mit Azure DevOps
  • Kubernetes und Docker können gemeinsam verwendet werden.

    Docker ist ein offener Standard zum Packen und Verteilen containerbasierter Anwendungen. Mit Docker können Sie Container erstellen, ausführen, speichern und freigeben.

    Kubernetes orchestriert und verwaltet die verteilten, containerbasierten Anwendungen, die Docker erstellt. Die Plattform stellt auch die erforderliche Infrastruktur für die Bereitstellung und Ausführung solcher Anwendungen auf einem Cluster von Computern bereit.

    Weitere Informationen zu Kubernetes und Docker

Ressourcen

Sind Sie bereit? Testen Sie Kubernetes kostenlos in Azure