Erstellen eines Azure Kubernetes Service-Clusters

Abgeschlossen

Ihr Unternehmen plant die Bereitstellung Ihres cloudbasierten Videorenderingdiensts mithilfe von Azure Kubernetes Service (AKS) als cloudnative Entwicklungsplattform. Bevor Sie eine Anwendung bereitstellen können, müssen Sie Ihren AKS-Cluster erstellen.

Im Folgenden werden einige Konzepte vorgestellt, die Ihnen das erfolgreiche Bereitstellen eines neuen AKS-Clusters ermöglichen.

Kubernetes-Cluster

Kubernetes basiert auf Clustern. Anstatt nur einen virtuellen Computer (VM) zu verwenden, nutzt Kubernetes mehrere Computer, die zusammenarbeiten. Diese VMs werden als Knoten bezeichnet. Kubernetes ist ein clusterbasierter Orchestrator. Dieser bietet Ihrer Anwendung mehrere Vorteile, z. B. Verfügbarkeit, Überwachung, Skalierung und parallele Updates.

Clusterknoten

Cluster basieren auf Knoten. Es gibt zwei Arten von Knoten in einem Kubernetes-Cluster, die spezifische Funktionen bereitstellen.

  • Steuerungsebenenknoten: Diese Knoten hosten die Aspekte der Steuerungsebene des Clusters und sind für die Dienste reserviert, die den Cluster steuern. Sie sind dafür verantwortlich, die API bereitzustellen, die Sie und alle anderen Knoten zur Kommunikation verwenden. Auf diesen Knoten werden keine Workloads bereitgestellt oder geplant.

  • Knoten: Diese Knoten sind für die Ausführung benutzerdefinierter Workloads und Anwendungen verantwortlich, z. B. für die Komponenten Ihres cloudbasierten Videorenderingdiensts.

Clusterarchitekturen

Mithilfe einer Clusterarchitektur können Sie die Anzahl der Steuerungsebenen und Knoten konzipieren, die Sie in Ihrem Kubernetes-Cluster bereitstellen.

Beispielsweise sollten Cluster immer mehr als zwei Knoten enthalten. Wenn ein Knoten nicht mehr verfügbar ist, versucht der Kubernetes-Planer, alle auf diesem Knoten ausgeführten Workloads auf den verbleibenden Knoten im Cluster umzuplanen.

Es gibt zwei beliebte Clusterarchitekturen für Kubernetes-Bereitstellungen.

Einzelsteuerungsebene und mehrere Knoten

A diagram that shows a single control plane and multiple nodes in a cluster configuration.

Die Architektur mit einer zentralen Steuerungsebene und mehreren Knoten pro Cluster ist das am häufigsten verwendete Architekturmuster und am einfachsten bereitzustellen, doch es bietet keine Hochverfügbarkeit für die Kernverwaltungsdienste Ihres Clusters.

Wenn der Steuerungsebenenknoten aus irgendeinem Grund ausfällt, ist die Interaktion mit dem Cluster nicht möglich. Bei diesem Problem müssen selbst Sie als Operator sowie alle anderen Workloads, die Kubernetes-APIs für die Kommunikation verwenden, warten, bis der API-Server wieder online ist.

Obwohl diese Architektur weniger Verfügbarkeit bietet als andere, sollte sie in den meisten Fällen ausreichen. Im Vergleich zu ausfallenden Knoten ist es weniger wahrscheinlich, dass die Kernverwaltungsdienste ausfallen. Die Steuerungsebenenknoten unterliegen weniger Änderungen als Knoten und sind stabiler.

Wenn Sie an einem Produktionsszenario arbeiten, eignet sich diese Architektur weniger.

Einzelsteuerungsebene und ein einzelner Knoten

A diagram that depicts a single control plane and single node in a cluster configuration.

Die Einzelsteuerungsebene und die einzelne Knotenarchitektur sind eine Variante der vorherigen Architektur, die in Entwicklungsumgebungen verwendet wird. Diese Architektur stellt nur einen Knoten bereit, der sowohl die Steuerungsebene als auch einen Workerknoten hostet. Sie eignet sich zum Testen und Experimentieren mit verschiedenen Kubernetes-Konzepten. Die einzelne Steuerungsebene und einzelne Knotenarchitektur schränken die Clusterskalierung ein, weshalb diese Architektur sich nicht für die Produktion und das Staging eignet.

Konfigurieren eines AKS-Clusters

Wenn Sie einen neuen AKS-Cluster erstellen, müssen Sie einige Elemente konfigurieren. Jedes Element wirkt sich auf die endgültige Konfiguration Ihres Clusters für die Ressourcenzuordnung aus.

Dazu gehören:

  • Knotenpools
  • Anzahl der Knoten
  • Größe der Knoten-VM

Knotenpools

Sie erstellen Knotenpools zum Gruppieren von Knoten in Ihrem AKS-Cluster. Wenn Sie einen Knotenpool erstellen, geben Sie die VM-Größe und den Betriebssystemtyp (Linux oder Windows) für jeden Knoten im Knotenpool auf Grundlage der Anwendungsanforderungen an. Um Benutzeranwendungspods zu hosten, sollte der Modus des Knotenpools Benutzer sein, andernfalls System.

Standardmäßig verfügt ein AKS-Cluster unabhängig davon, ob Sie ihn über das Azure-Portal oder die CLI erstellt haben, über einen Linux-Knotenpool (Systemmodus). Sie können ihn jedoch so konfigurieren, dass im Erstellungs-Assistenten im Portal, über Parameter in der CLI oder mit ARM-Vorlagen Windows-Knotenpools zusammen mit Linux-Standardknotenpools hinzugefügt werden.

Knotenpools verwenden VM-Skalierungsgruppen als zugrunde liegende Infrastruktur, um dem Cluster das Skalieren der Knotenanzahl in einem Knotenpool zu ermöglichen. Neu erstellte Knoten im Knotenpool weisen immer die gleiche Größe auf, die Sie beim Erstellen des Knotenpools festgelegt haben.

A diagram that depicts a Kubernetes cluster with two node pools. The first node pool uses NC24s_v2 VMs, and the second node pool uses B2s standard VMs.

Anzahl der Knoten

Die Knotenanzahl bezeichnet die Anzahl der Knoten, die in einem Knotenpool Ihres Clusters enthalten sind. Knoten sind Azure-VMs. Sie können ihre Größe und Anzahl entsprechend Ihres Nutzungsverhaltens ändern.

Sie können die Knotenanzahl später im Konfigurationsbereich des Clusters ändern. Es ist außerdem eine bewährte Methode, diese Anzahl möglichst gering zu halten, um unnötige Kosten und ungenutzte Computeleistung zu vermeiden.

Größe der Knoten-VM

Wählen Sie aus einer Vielzahl von VM-Spezifikationen aus. Für Entwicklungszwecke können Sie die B-Serie auswählen, um Kosten zu sparen. In den Übungen verwenden Sie die Serie B2, die Standardgröße. Weitere Anleitungen zum Auswählen eines virtuellen Computers basierend auf Ihren Anforderungen finden Sie im Azure VM-Auswahltool.

Überprüfen Sie Ihr Wissen

1.

Welche der folgenden Beschreibungen beschreibt eine Kubernetes-Clusterarchitektur?

2.

Was sind Knotenpools?

3.

Was bewirkt das Add-On für das HTTP-Anwendungsrouting?