Tutorial: Bereitstellen eines Azure Kubernetes Service-Clusters (AKS)

Kubernetes bietet eine verteilte Plattform für containerbasierte Anwendungen. Mit AKS können Sie schnell einen Kubernetes-Cluster erstellen, der für die Produktion bereit ist. In diesem Tutorial (Teil 3 von 7) wird ein Kubernetes-Cluster in AKS bereitgestellt. Folgendes wird vermittelt:

  • Bereitstellen eines Kubernetes-AKS-Clusters, der sich bei einer Azure-Containerregistrierung authentifizieren kann
  • Installieren der Kubernetes-Befehlszeilenschnittstelle (kubectl)
  • Konfigurieren von „kubectl“ für die Verbindung mit Ihrem AKS-Cluster

In nachfolgenden Tutorials wird die Anwendung Azure Vote im Cluster bereitgestellt, skaliert und aktualisiert.

Voraussetzungen

In vorherigen Tutorials wurde ein Containerimage erstellt und in eine Azure Container Registry-Instanz hochgeladen. Wenn Sie diese Schritte nicht ausgeführt haben und dies jetzt nachholen möchten, beginnen Sie mit Tutorial 1: Erstellen von Containerimages.

Für dieses Tutorial müssen Sie mindestens Version 2.0.53 der Azure CLI ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.

Erstellen eines Kubernetes-Clusters

AKS-Cluster können die rollenbasierte Zugriffssteuerung von Kubernetes (Kubernetes Role-Based Access Control, Kubernetes RBAC) verwenden. Mit diesen Steuerungen können Sie den Zugriff auf Ressourcen basierend auf Rollen definieren, die Benutzern zugewiesen sind. Berechtigungen werden kombiniert, wenn einem Benutzer mehrere Rollen zugewiesen sind, und Berechtigungen können auf einen einzelnen Namespace begrenzt sein oder für den gesamten Cluster gelten. Standardmäßig wird Kubernetes RBAC bei der Erstellung eines AKS-Clusters von der Azure CLI automatisch aktiviert.

Erstellen Sie mit az aks create einen AKS-Cluster. Im folgenden Beispiel wird ein Cluster mit dem Namen myAKSCluster in der Ressourcengruppe mit dem Namen myResourceGroup erstellt. Diese Ressourcengruppe wurde im vorherigen Tutorial in der Region eastus erstellt. Im folgenden Beispiel wird keine Region angegeben, sodass der AKS-Cluster auch in der Region eastus erstellt wird. Weitere Informationen zu Ressourcenbeschränkungen und regionaler Verfügbarkeit für AKS finden Sie unter Kontingente, Größeneinschränkungen für virtuelle Computer und regionale Verfügbarkeit in Azure Kubernetes Service (AKS).

Damit ein AKS-Cluster mit anderen Azure-Ressourcen interagieren kann, wird automatisch eine Clusteridentität erstellt, da Sie keine angegeben haben. Hier wird dieser Clusteridentität die Berechtigung zum Pullen von Images aus der ACR-Instanz (Azure Container Registry) gewährt, die Sie im vorherigen Tutorial erstellt haben. Damit der Befehl erfolgreich ausgeführt werden kann, müssen Sie über die Rolle Besitzer oder Azure-Kontoadministrator für das Azure-Abonnement verfügen.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

Um zu vermeiden, dass die Rolle Besitzer oder Azure-Kontoadministrator benötigt wird, können Sie auch manuell einen Dienstprinzipal konfigurieren, um Images aus ACR zu pullen. Weitere Informationen finden Sie unter Azure Container Registry-Authentifizierung mit Dienstprinzipalen oder unter Abrufen von Images aus einer Azure-Containerregistrierung per Pull in einem Kubernetes-Cluster. Alternativ können Sie anstelle eines Dienstprinzipals zur einfacheren Verwaltung eine verwaltete Identität verwenden.

Nach einigen Minuten ist die Bereitstellung abgeschlossen, und es werden Informationen zur AKS-Bereitstellung im JSON-Format zurückgegeben.

Hinweis

Um zu gewährleisten, dass Ihr Cluster zuverlässig funktioniert, sollten Sie mindestens zwei Knoten verwenden.

Installieren der Kubernetes-Befehlszeilenschnittstelle

Zum Herstellen der Verbindung mit dem Kubernetes-Cluster auf Ihrem lokalen Computer verwenden Sie den Kubernetes-Befehlszeilenclient kubectl.

Wenn Sie Azure Cloud Shell verwenden, ist kubectl bereits installiert. Mit dem Befehl az aks install-cli können Sie ihn auch lokal installieren:

az aks install-cli

Herstellen einer Verbindung mit dem Cluster mithilfe von „kubectl“

Mit dem Befehl az aks get-credentials können Sie kubectl für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster konfigurieren. Im folgenden Beispiel werden Anmeldeinformationen für den AKS-Cluster namens myAKSCluster in myResourceGroup abgerufen:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Überprüfen Sie die Verbindung mit Ihrem Cluster mithilfe des Befehls kubectl get nodes, um eine Liste der Clusterknoten zu erhalten:

kubectl get nodes

In der folgenden Beispielausgabe ist die Liste der Clusterknoten zu sehen:

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

Nächste Schritte

In diesem Tutorial wurde ein Kubernetes-Cluster in AKS bereitgestellt, und Sie haben kubectl für die Verbindung damit konfiguriert. Sie haben Folgendes gelernt:

  • Bereitstellen eines Kubernetes-AKS-Clusters, der sich bei einer Azure-Containerregistrierung authentifizieren kann
  • Installieren der Kubernetes-Befehlszeilenschnittstelle (kubectl)
  • Konfigurieren von „kubectl“ für die Verbindung mit Ihrem AKS-Cluster

Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie eine Anwendung im Cluster bereitgestellt wird.