Übersicht über Kubernetes und AKS

Abgeschlossen

Während Sie die Prinzipien der Containerisierung untersuchen, um die Workloadflexibilität und -dichte in der Computingumgebung von Contoso zu steigern, stellen Sie fest, dass Sie sich auf die Containerorchestrierung und nicht auf die Bereitstellung einzelner Container konzentrieren müssen. Letzteres ist zwar unkompliziert, doch mangelt es dabei an Skalierbarkeit und Resilienz. In Ihrer Untersuchung der Containerorchestrierung haben sich Kubernetes und AKS schnell als die am besten geeigneten Kandidaten für Ihre geplante Implementierung herauskristallisiert.

Was ist Kubernetes?

Kubernetes ist eine erweiterbare, Linux-basierte Open-Source-Plattform zum Orchestrieren von containerisierten Workloads. Um Resilienz zu gewährleisten, besteht eine typische Kubernetes-Bereitstellung aus mehreren, als Knoten bezeichneten Clusterservern. Einige von ihnen bilden eine für die Verwaltung der verbleibenden Knoten, auf denen Sie Ihre Workloads bereitstellen, verantwortliche Steuerungsebene. Für Kubernetes bestehen diese Workloads aus Instanzen von als Pods bezeichneten Containeranwendungen.

Hinweis

Eine der Kernkomponenten der Steuerungsebene ist API Server, der die Schnittstelle zum Konfigurieren und Verwalten von Kubernetes-Clustern bereitstellt.

Hinweis

Ein Pod entspricht in etwa einem Container, obwohl er mehrere eng verknüpfte Container enthalten kann, die auf demselben Clusterknoten ausgeführt werden.

Pods sind in der Regel zustandslos und bieten keine inhärenten Resilienzfeatures. Zum Implementieren von Hochverfügbarkeit und Redundanz können Sie sie mittels entsprechender Bereitstellungen integrieren. In der Regel besteht eine Bereitstellung aus mehreren Replikaten von Pods, die gemeinsam dieselbe Konfiguration nutzen und Container auf demselben Image basierend ausführen. Kubernetes verwaltet automatisch den Lebenszyklus von Pods innerhalb einer Bereitstellung und erstellt alle fehlerhaften Pods auf den verfügbaren Clusterknoten auf optimale Weise neu.

Bereitstellungen optimieren auch Updates für Images von Containern, die in Pods ausgeführt werden, ohne die Verfügbarkeit der Containerworkload zu beeinträchtigen. Indem Sie Unterbrechungsbudgets definieren, steuern Sie die Anzahl der Podreplikate, die während des gesamten Updateprozesses online bleiben müssen.

Für die direkte Konnektivität mit Pods können Sie einen anderen, als Dienst bezeichneten Kubernetes-Ressourcentyp implementieren. Mit einem Dienst können Sie beispielsweise externe Verbindungen mit Lastenausgleich aus dem Internet mit einem Webdienst herstellen, der im Rahmen derselben Bereitstellung in einer Gruppe von Pods gehostet wird.

Kubernetes bietet die Möglichkeit, Pods, Dienste, Bereitstellungen und viele andere Clusterkomponenten in Namespaces zu isolieren. Namespaces bilden logische Grenzen, mit denen Sie den Zugriff zum Erstellen, Anzeigen oder Verwenden von Clusterressourcen einschränken können.

Wie lauten die wichtigsten Vorteile von Kubernetes?

Kubernetes bietet ein konsistentes Verwaltungsmodell für eine Umgebung mit mehreren Containern, das freigegebene Compute-, Netzwerk- und Speicherressourcen verwendet. Die Plattform bietet ein deklaratives Bereitstellungs- und Verwaltungsmodell, in dem Sie die gewünschte Konfiguration beschreiben und die Implementierung der Kubernetes-Steuerungsebene überlassen.

Hinweis

Mit dem deklarativen Verwaltungsmodell steuern Sie die Bereitstellung, Änderung und Löschung von Kubernetes-Komponenten wie Pods, Diensten und Bereitstellungen mithilfe von YAML-Manifestdateien. Sie können auch gepackte Sammlungen von YAML-Dateien (sogenannte Helm-Charts) einsetzen. Helm ist ein Paket-Manager für Kubernetes und erleichtert die Bereitstellung komplexerer Workloads in Kubernetes-Clustern.

Darüber hinaus bietet Kubernetes Vorteile wie:

  • Selbstreparatur von Pods
  • Automatisches Skalieren von Pods
  • Automatisches Skalieren von Autoclusterknoten in virtualisierten Szenarien
  • Automatisiertes paralleles Update und Rollback von Podbereitstellungen
  • Automatische Ermittlung von neuen Podbereitstellungen
  • Lastenausgleich zwischen Pods, die dieselben Workloads ausführen

Mit Kubernetes können Sie eine Gruppe physischer oder virtueller Server als einheitliche Computeressource behandeln und gleichzeitig die Server mithilfe der Agilität und Dichte von Containerworkloads optimieren. Kubernetes vereinfacht zwar die Containerverwaltung, aber die Kubernetes-Verwaltung umfasst viele Konfigurations-, Verwaltungs- und Wartungsaufgaben:

  • Aspekte, wie Bereitstellung, Skalierung, Lastenausgleich, Protokollierung und Überwachung, sind optional. Es ist Ihre Aufgabe, die optimale Konfiguration für Ihre speziellen Anforderungen zu ermitteln und zu implementieren.
  • Kubernetes stellt nativ weder Middleware noch Datenverarbeitungsframeworks oder Datenbanken bereit. Sie haben jedoch die Möglichkeit, die entsprechenden Funktionalitäten mithilfe von Containern zu implementieren.
  • Sie sind für die Verwaltung Ihrer Kubernetes-Umgebung verantwortlich. So sind Sie beispielsweise für die Verwaltung von Betriebssystemupgrades und Kubernetes-Upgrades zuständig. Außerdem verwalten Sie die für Clusterknoten verfügbaren Hardwareressourcen, z. B. das Netzwerk, den Arbeitsspeicher und den Speicher.

Hinweis

Managed Kubernetes-Angebote wie AKS vereinfachen einige dieser Aufgaben, oder die Aufgaben werden sogar gänzlich hinfällig.

Wissensbeurteilung

1.

Während Sie ausgewertet haben, ob sich Kubernetes zur Verwendung für Containerworkloads eignet, die Sie in der Azure Stack HCI-Umgebung von Contoso bereitstellen möchten, haben Sie festgestellt, dass Sie Benutzern, die denselben Kubernetes-Cluster verwenden, Einschränkungen bezüglich des Erstellens, Anzeigens oder Verwendens containerisierter Ressourcen auferlegen müssen. Welches Kubernetes-Feature sollten Sie verwenden, um Benutzern Einschränkungen aufzuerlegen?