Menü

Kubernetes in Azure: Funktionsweise und 7 Serviceoptionen

Inhalt

Diese Seite teilen

blank avatar
Jeff Whitaker

Wie integriert man Kubernetes in Azure?

Kubernetes ist eine leistungsstarke Open-Source-Plattform zur Orchestrierung containerisierter Anwendungen, die sich rasant zum De-facto-Standard für modernes Infrastrukturmanagement entwickelt hat. Sie ermöglicht es Entwickler- und DevOps-Teams, sich auf die Bereitstellung und Verwaltung von Workloads zu konzentrieren, unabhängig von der zugrunde liegenden Infrastruktur. Durch deklarative Bereitstellungsmodelle und eine umfassende API unterstützt Kubernetes den effizienten Betrieb verteilter Anwendungen im großen Maßstab.

Die Bereitstellung und Wartung von Kubernetes-Clustern kann jedoch insbesondere im produktiven Unternehmenseinsatz komplex sein. Um zentrale Aufgaben wie Skalierung, Upgrades und Clustermanagement zu vereinfachen, bietet Microsoft Azure verschiedene vollständig verwaltete Kubernetes-Dienste an, darunter Azure Kubernetes Service (AKS) und Azure Container Instances (ACI).

Ein zentrales Beispiel ist AKS: Hier übernimmt Azure die Verwaltung der Steuerungsebene (Control Plane), während Unternehmen lediglich für die genutzten Workerknoten zahlen. Diese vollständig verwaltete Lösung reduziert operativen Aufwand und beschleunigt die Einführung containerbasierter Architekturen in der Cloud.

Vorteile von Kubernetes in Azure

Die Ausführung von Kubernetes in Microsoft Azure bringt zahlreiche Vorteile für Unternehmen mit sich, die containerisierte Anwendungen in der Cloud betreiben möchten:

  • Nahtlose Integration: Azure bietet native Unterstützung für Kubernetes, von Netzwerkintegration über Identitätsmanagement bis hin zu Speicherdiensten.

  • Skalierbarkeit: Die Azure-Infrastruktur lässt sich flexibel anpassen, Kubernetes-Cluster können dynamisch skaliert werden, um Anwendungsanforderungen effizient zu erfüllen.

  • Hohe Verfügbarkeit: Azure stellt Cluster mit integrierten Hochverfügbarkeits- und Disaster-Recovery-Mechanismen bereit.

  • Sicherheit: Mit Funktionen wie rollenbasierter Zugriffskontrolle (RBAC), Verschlüsselung und Netzwerkisolation bietet Azure ein sicheres Betriebsumfeld für Kubernetes-Workloads.

  • Automatisierung: Azure vereinfacht den Betrieb durch automatisierte Bereitstellung, Wartung und Skalierung, ideal für DevOps-Teams mit hohen Automatisierungsanforderungen.

  • Hybride Nutzung: Mit Azure Arc und weiteren Tools können Kubernetes-Cluster sowohl in der Cloud als auch On-Premises betrieben und zentral verwaltet werden.

Allerdings bringt dieser Ansatz mehr Komplexität mit sich: Die Verantwortung für Updates, Skalierung, Verfügbarkeit und Sicherheit liegt vollständig beim Unternehmen. Dafür lassen sich Integrationen und Erweiterungen exakt auf die betrieblichen Gegebenheiten abstimmen.

Azure Kubernetes: Referenzarchitektur für produktive Kubernetes-Deployments

Um zu zeigen, wie Kubernetes typischerweise auf Microsoft Azure implementiert wird, stellt Microsoft eine Referenzarchitektur bereit. Diese basiert auf dem Azure Kubernetes Service (AKS) und dient vielen Unternehmen als Ausgangspunkt für eigene Kubernetes-Projekte in der Cloud.

aks

Aufbau der Referenzarchitektur

Die Architektur ist modular und umfasst zentrale Azure-Komponenten, die zusammen eine skalierbare, sichere und produktionsreife Kubernetes-Umgebung ermöglichen:

1. Azure Kubernetes Service (AKS)

AKS bildet das Herzstück der Architektur. Es verwaltet automatisch die Kubernetes-Steuerungsebene (Control Plane), während Sie lediglich die Agent-Knoten (Worker Nodes) betreuen. Dies reduziert Betriebsaufwand und Kosten, da nur die genutzten Ressourcen abgerechnet werden.

2. Kubernetes-Cluster

Der Cluster hostet Ihre containerisierten Anwendungen und Dienste. Die Bereitstellung erfolgt über AKS, wodurch zentrale Verwaltungsaufgaben wie Skalierung und Upgrades vereinfacht werden.

3. Virtuelles Netzwerk (Virtual Network)

AKS erstellt standardmäßig ein virtuelles Netzwerk für die Worker Nodes. In komplexeren Szenarien kann ein eigenes VNet mit benutzerdefinierten Subnetzen, IP-Adressen oder lokalen Netzwerkanbindungen verwendet werden, um mehr Kontrolle über die Netzwerktopologie zu erhalten.

4. Ingress-Controller

Ein Ingress stellt den externen Zugriff via HTTP/HTTPS auf Cluster-Dienste bereit. Häufig wird ein API-Gateway hinter dem Ingress eingesetzt, um Authentifizierung und Autorisierung zu verwalten.

5. Azure Load Balancer

Beim Einsatz des NGINX-Ingress-Controllers wird automatisch ein Azure Load Balancer bereitgestellt, der den eingehenden Datenverkehr effizient an die Clusterdienste weiterleitet.

6. Externe Datenspeicherung

Da Microservices in der Regel zustandslos sind, speichern sie Daten in externen Quellen wie Azure SQL Database (relational) oder Azure Cosmos DB (NoSQL).

7. Azure Active Directory (AD)

AKS verfügt über eine eigene Identität in Azure AD zur Verwaltung von Ressourcen. Zusätzlich wird empfohlen, Azure AD für die Benutzeranmeldung in Anwendungen zu verwenden, die mit dem Cluster interagieren.

8. Azure Container Registry (ACR)

ACR dient als private Registry für Docker-Images. Diese können direkt zur Containerbereitstellung im Cluster verwendet werden. ACR lässt sich mit Azure AD für rollenbasierte Zugriffskontrolle integrieren. Alternativ sind auch Drittanbieter-Registries wie Docker Hub nutzbar.

9. Azure Pipelines (CI/CD)

Azure Pipelines ist Teil von Azure DevOps und automatisiert Build-, Test- und Deployment-Prozesse. Alternativ können Sie externe CI/CD-Tools wie Jenkins integrieren.

10. Helm

Helm ist der Paketmanager für Kubernetes. Er vereinfacht die Verwaltung, Versionierung und Verteilung von Anwendungen durch gebündelte Ressourcen (Charts).

11. Azure Monitor

Azure Monitor sammelt und analysiert Logdaten und Metriken aus dem Cluster. Damit lassen sich Anomalien erkennen, Benachrichtigungen konfigurieren und die Ursachen von Problemen nachvollziehen, zentral für das operative Monitoring produktiver Umgebungen.

Tipp: Für maximale Performance und Datenverfügbarkeit in produktiven Kubernetes-Workloads bietet sich die Nutzung von Azure NetApp Files an. Diese Enterprise-Storage-Lösung sorgt für konsistente Latenzen im Millisekundenbereich und unterstützt persistenten Speicher auf Azure-nativer Infrastruktur.

Weiterführend: Kubernetes-Leistung auf Azure optimieren mit Azure NetApp Files.

Kubernetes auf Azure: Die 7 wichtigsten Dienste im Vergleich

Um zu veranschaulichen, wie Kubernetes typischerweise in Microsoft Azure implementiert wird, stellt Microsoft eine offizielle Referenzarchitektur bereit. Diese basiert auf einer Anwendung, die im Azure Kubernetes Service (AKS) betrieben wird, und dient als Ausgangspunkt für viele Unternehmensszenarien.

Microsoft Azure bietet eine Vielzahl an Services, mit denen Unternehmen Kubernetes-Workloads flexibel, sicher und skalierbar betreiben können. Im Folgenden stellen wir die sieben wichtigsten Optionen vor, die Sie bei der Auswahl und Implementierung berücksichtigen sollten.

Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) ist der zentrale Managed Service für die Bereitstellung und Verwaltung von Kubernetes-Clustern in Azure. Der Dienst entlastet Teams von Aufgaben wie Cluster-Wartung, Health Monitoring und Upgrades.

Azure übernimmt das Management der Steuerungsebene (Control Plane), während Sie nur die Agent-Knoten verwalten und ausschließlich für deren Nutzung zahlen. Weitere Features wie Azure Active Directory (AD)-Integration, erweitertes Netzwerkmanagement und Überwachung lassen sich flexibel konfigurieren.

AKS-Cluster können über das Azure-Portal, die Azure CLI oder Infrastructure-as-Code-Tools wie ARM-Templates oder Terraform eingerichtet werden.

Weiterführend: Persistent Volumes für Container in AKS konfigurieren.

2. Azure Container Instances (ACI)

Azure Container Instances ermöglichen das Ausführen von Containern in der Cloud, ganz ohne virtuelle Maschinen. Sie sind ideal für kurzlebige, stateless Anwendungen und bieten extrem schnelle Startzeiten sowie nutzungsbasierte Abrechnung.

Container-Images können aus Docker Hub, Azure Container Registry oder anderen Repositories importiert werden. Eine vorinstallierte Basis-Image-Bibliothek sorgt für schnelle Bereitstellungen.

Weiterführend:

  • Azure Container Instances: Grundlagen und Tutorial
  • Azure Container Instances vs. AKS: Der Vergleich

3. Azure Service Fabric

Azure Service Fabric ist eine verteilte Plattform zur Ausführung von Microservices und containerisierten Anwendungen, besonders geeignet für zustandsbehaftete (stateful) Workloads.

Sie können native Dienste mit dem Service-Fabric-Programmiermodell entwickeln oder bestehende containerisierte Anwendungen integrieren. Service Fabric unterstützt Deployments auf Azure, lokal oder in anderen Clouds.

Microsoft nutzt Service Fabric selbst für Dienste wie Power BI, Azure SQL Database und Skype.

4. Azure Container Registry (ACR)

Azure Container Registry (ACR) ist ein privates Docker-Registry-Angebot von Microsoft. Unternehmen können hier eigene Container-Images hosten, verwalten und in CI/CD-Pipelines integrieren.

Mit ACR Tasks lassen sich Images automatisch aus Quellcodeänderungen oder Basis-Image-Updates neu bauen. ACR kann nahtlos mit Azure Active Directory verknüpft werden.

5. Azure Container Instances (zweite Nennung)

ACI bietet einen serverlosen Ansatz für das Containermanagement, ohne dass Infrastruktur gewartet werden muss. Der Service eignet sich hervorragend für:

  • Leichtgewichtige Microservices
  • Automatisierungs-Workflows
  • Batch-Jobs
  • Eventbasierte Prozesse

Dank sekundengenauer Abrechnung und freier Konfiguration der Containergrößen ist ACI besonders kosteneffizient.

Hinweis: Diese ACI-Beschreibung ergänzt die vorherige und beseitigt Redundanzen.

6. Azure Container Apps

Azure Container Apps ist ein vollständig verwalteter Dienst für moderne Microservices-Architekturen. Er unterstützt:

  • Automatisches Skalieren auf Basis von HTTP-Verkehr oder Event-Triggers
  • Rolling Updates
  • TLS und benutzerdefinierte Domains
  • Mehrere Umgebungen und Konfigurationen

Azure Container Apps ist ideal für Entwickler, die Cloud-native Anwendungen ohne Kubernetes-Komplexität bauen wollen.

7. Azure Dev Spaces (Legacy-Information)

Azure Dev Spaces ermöglichte früher schnelles Testen und Debuggen innerhalb eines AKS-Clusters, ohne lokale Entwicklungsumgebung. Die automatisierte Generierung von Docker- und Kubernetes-Artefakten vereinfachte Teamprojekte.

Hinweis: Azure Dev Spaces wurde inzwischen eingestellt und durch modernere Tools wie Azure Kubernetes Fleet Manager und Azure Developer CLI ersetzt.

Fazit: Kubernetes mit NetApp in Azure einsetzen

Kubernetes ist heute ein zentraler Bestandteil moderner IT-Strategien. Microsoft Azure bietet dafür eine starke Plattform, ob mit verwaltetem AKS oder in Form selbstbetriebener Cluster auf VMs. In beiden Fällen ist die Integration einer leistungsfähigen Speicherlösung wie Azure NetApp Files entscheidend für den Erfolg.

Unternehmen, die Kubernetes nachhaltig etablieren wollen, sollten neben Automatisierung und Governance vor allem die Speicherarchitektur frühzeitig berücksichtigen. Mit Azure NetApp Files steht eine Lösung bereit, die produktionsreife Performance und Sicherheit mit maximaler Cloud-Kompatibilität verbindet.

Drift chat loading