Freigeben über


Schnellstart: Erstellen eines Clusters in Azure Kubernetes Service (AKS) Automatic

Gilt für: ✔️ AKS Automatic

Azure Kubernetes Service (AKS) Automatic ist eine verwaltete Kubernetes-Erfahrung, die AKS-Clustereinrichtung und -vorgänge automatisiert und Best Practice-Konfigurationen einbettet. In dieser Schnellstartanleitung wird Folgendes vermittelt:

  • Stellen Sie einen AKS Automatic-Cluster bereit.
  • Führen Sie eine Beispielanwendung mit mehreren Containern mit einer Gruppe von Microservices und Web-Front-Ends aus, die ein Einzelhandelsszenario simulieren.

Bevor Sie anfangen

  • Azure CLI, Version 2.77.0 oder höher. Suchen Sie Ihre Version mithilfe des az --version Befehls. Informationen zum Installieren oder Aktualisieren finden Sie unter Install Azure CLI. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.
  • Wenn Sie über mehrere Azure-Abonnements verfügen, wählen Sie die entsprechende Abonnement-ID aus, um Ressourcen für die Verwendung des az account set Befehls in Rechnung zu stellen.
  • Zum Bereitstellen einer Bicep-Datei benötigen Sie Schreibzugriff auf die Ressourcen, die Sie erstellen, und Zugriff auf alle Vorgänge für den Ressourcentyp Microsoft.Resources/deployments. Um z. B. einen virtuellen Computer (VM) zu erstellen, benötigen Microsoft.Compute/virtualMachines/write Und Microsoft.Resources/deployments/* Berechtigungen. Eine Liste der Rollen und Berechtigungen finden Sie in den integrierten Azure-Rollen.

Einschränkungen

Von Bedeutung

AKS Automatic versucht, basierend auf der im Abonnement verfügbaren Kapazität dynamisch eine VM-Größe für den system-Knotenpool auszuwählen. Stellen Sie sicher, dass Ihr Abonnement über ein Kontingent für 16 vCPUs einer der folgenden Größen in der Region verfügt, in der Sie den Cluster bereitstellen: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 oder Standard_D4alds_v5. Über das Azure-Portal können Sie Kontingente für bestimmte VM-Familien anzeigen und Anforderungen zur Kontingenterhöhung übermitteln. Wenn Sie weitere Fragen haben, erfahren Sie mehr über die Dokumentation zur Problembehandlung.

Erstellen einer Ressourcengruppe

Eine Azure-Ressourcengruppe ist eine logische Gruppe, in der Azure-Ressourcen bereitgestellt und verwaltet werden.

Erstellen Sie eine Ressourcengruppe mit dem Befehl az group create. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt:

az group create --name myResourceGroup --location eastus

Die folgende Beispielausgabe ähnelt der Ausgabe bei der erfolgreichen Erstellung der Ressourcengruppe:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Erstellen eines AKS Automatic-Clusters

Erstellen Sie einen automatischen AKS-Cluster mithilfe des az aks create Befehls, mit dem Parameter --sku auf automatic gesetzt. Im folgenden Beispiel wird ein Cluster mit dem Namen myAKSAutomaticCluster mit verwaltetem Prometheus und aktivierter Container Insights-Integration erstellt:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSAutomaticCluster \
    --sku automatic

Nach wenigen Minuten ist die Ausführung des Befehls abgeschlossen, und es werden Informationen zum Cluster im JSON-Format zurückgegeben.

Erstellen eines Automatic Kubernetes-Clusters

  1. Um einen automatischen AKS-Cluster zu erstellen, suchen und wählen Sie Kubernetes-Dienste aus. Dadurch gelangen Sie zur Kubernetes Center -Seite (Vorschau ).

  2. Wählen Sie auf der Kubernetes Center-Seite (Vorschau) die Option"Automatische Kubernetes-Cluster>" aus.

    Der Screenshot der Schaltfläche

  3. Füllen Sie auf der Registerkarte " Grundlagen " alle erforderlichen Felder aus (Abonnement, Ressourcengruppe, Kubernetes-Clustername und Region), und wählen Sie dann "Weiter" aus.

    Screenshot: Registerkarte „Grundlagen“ beim Erstellen eines AKS Automatic-Clusters im Azure-Portal

  4. Wählen Sie auf der Registerkarte " Überwachung " Ihre gewünschten Überwachungskonfigurationen aus Azure Monitor (Container Insights), verwalteter Prometheus, Grafana Dashboards, Container Network Observability (ACNS) und Warnungen aus, und wählen Sie dann "Weiter" aus.

    Screenshot: Registerkarte „Überwachung“ beim Erstellen eines AKS Automatic-Clusters im Azure-Portal

  5. Wählen Sie auf der Registerkarte "Erweitert " die gewünschten erweiterten Konfigurationen für den privaten Zugriff, Azure Virtual Networking, verwaltete Identität, Containernetzwerksicherheit (ACNS) und verwaltete Kubernetes-Namespaces aus, und wählen Sie dann "Überprüfen+ erstellen" aus.

    Der Screenshot der Registerkarte

  6. Überprüfen Sie die Konfigurationen auf der Registerkarte " Überprüfen+ Erstellen ", und wählen Sie dann "Erstellen" aus, um den automatischen AKS-Cluster bereitzustellen.

  7. Führen Sie die ersten Schritte zum Konfigurieren Ihrer ersten Anwendung über GitHub und Einrichten einer automatisierten Bereitstellungspipeline aus.

    Screenshot: Registerkarte „Erste Schritte“ auf dem Blatt „Übersicht“ nach dem Erstellen eines AKS Automatic-Clusters im Azure-Portal

Überprüfen der Bicep-Datei

Die folgende Bicep-Datei definiert einen automatischen AKS-Cluster:

@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
  name: clusterName
  location: location  
  sku: {
  name: 'Automatic'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        mode: 'System'
  count: 3
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Weitere Information zu der in der Bicep-Datei definierten Ressource finden Sie in der Referenz zu Microsoft.ContainerService/managedClusters.

Bereitstellen der Bicep-Datei

  1. Speichern Sie die Bicep-Datei als main.bicep auf Ihrem lokalen Computer.

    Von Bedeutung

    Die Bicep-Datei legt den clusterName-Parameter auf die Zeichenfolge myAKSAutomaticCluster fest. Wenn Sie einen anderen Clusternamen wünschen, ändern Sie die Zeichenfolge in den gewünschten Clusternamen, ehe Sie die Datei auf Ihrem Computer speichern.

  2. Stellen Sie die Bicep-Datei mithilfe des Befehls [az deployment group create][az-deployment-group-create] bereit.

    az deployment group create --resource-group myResourceGroup --template-file main.bicep
    

    Die Erstellung des AKS-Clusters dauert einige Minuten. Warten Sie, bis der Cluster erfolgreich bereitgestellt wurde, bevor Sie mit dem nächsten Schritt fortfahren.

Herstellen einer Verbindung mit dem Cluster

Um einen Kubernetes-Cluster zu verwalten, verwenden Sie den Kubernetes-Befehlszeilenclient kubectl. kubectl ist bei Verwendung von Azure Cloud Shell bereits installiert. Sie können kubectl lokal installieren, indem Sie den Befehl az aks install-cli verwenden. AKS Automatic-Cluster sind mit Microsoft Entra ID für die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) in Kubernetes konfiguriert.

Hinweis

Wenn Sie einen Cluster mithilfe der Azure CLI erstellen, werden Ihrem Benutzer integrierte Rollen für Azure Kubernetes Service RBAC Cluster Admin zugewiesen.

  1. Mit dem Befehl kubectl können Sie az aks get-credentials für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster konfigurieren. Mit diesem Befehl werden die Anmeldeinformationen heruntergeladen, und die Kubernetes-Befehlszeilenschnittstelle wird für deren Verwendung konfiguriert.

    az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
    
  2. Überprüfen Sie die Verbindung mit dem Cluster mithilfe des Befehls kubectl get. Dieser Befehl gibt eine Liste der Clusterknoten zurück.

    kubectl get nodes
    

    Die folgende Beispielausgabe zeigt, wie Sie aufgefordert werden, sich anzumelden:

    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
    

    Nachdem Sie sich angemeldet haben, werden wie in der folgenden Beispielausgabe die verwalteten Systemknotenpools angezeigt. Stellen Sie sicher, dass der Knotenstatus Bereit lautet.

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   2m26s   v1.28.5
    aks-nodepool1-12345678-vmss000001   Ready    agent   2m26s   v1.28.5
    aks-nodepool1-12345678-vmss000002   Ready    agent   2m26s   v1.28.5
    

Bereitstellen der Anwendung

Zum Bereitstellen der Anwendung verwenden Sie eine Manifestdatei, um alle Objekte zu erstellen, die für die Ausführung der AKS Store-Anwendungerforderlich sind. Eine Kubernetes-Manifestdatei definiert den gewünschten Zustand (Desired State) eines Clusters – also beispielsweise, welche Containerimages ausgeführt werden sollen. Das Manifest umfasst die folgenden Kubernetes-Bereitstellungen und -Dienste:

Screenshot: Beispielarchitektur für einen Azure-Store.

  • Store Front: Webanwendung für Kunden zum Anzeigen von Produkten und Aufgeben von Bestellungen
  • Product Service: Zum Anzeigen von Produktinformationen
  • Order Service: dient der Aufgabe von Bestellungen.
  • Rabbit MQ: Nachrichtenwarteschlange für eine Auftragswarteschlange.

Hinweis

Zustandsbehaftete Container wie Rabbit MQ sollten nicht ohne permanenten Speicher für die Produktion ausgeführt werden. Sie werden hier der Einfachheit halber verwendet, jedoch sollten verwaltete Dienste wie Azure Cosmos DB oder Azure Service Bus verwendet werden.

  1. Erstellen Sie einen Namespace aks-store-demo, in dem die Kubernetes-Ressourcen bereitgestellt werden.

    kubectl create ns aks-store-demo
    
  2. Stellen Sie die Anwendung mithilfe des kubectl apply-Befehls im aks-store-demo-Namespace bereit. Die YAML-Datei, die die Bereitstellung definiert, finden Sie auf GitHub.

    kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
    

    Die folgende Beispielausgabe zeigt die Bereitstellungen und Dienste:

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    ingress/store-front created
    

Testen der App

Wenn die Anwendung ausgeführt wird, macht ein Kubernetes-Dienst das Anwendungs-Front-End im Internet verfügbar. Dieser Vorgang kann einige Minuten dauern.

  1. Sehen Sie sich den Status der bereitgestellten Pods mithilfe des Befehls kubectl get pods an. Stellen Sie sicher, dass alle Pods den Status Running haben, bevor Sie fortfahren. Wenn dies die erste Workload ist, die Sie bereitstellen, kann es einige Minuten dauern, bis die automatische Knotenbereitstellung einen Knotenpool erstellt und die Pods ausführt.

    kubectl get pods -n aks-store-demo
    
  2. Suchen Sie nach einer öffentlichen IP-Adresse für die Store-Front-Anwendung. Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get service mit dem Argument --watch:

    kubectl get ingress store-front -n aks-store-demo --watch
    

    Die Ausgabe von ADDRESS für den store-front-Dienst ist anfangs leer:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Nachdem ADDRESS in eine tatsächliche öffentliche IP-Adresse geändert wurde, verwenden Sie CTRL-C, um die kubectl-Überwachung zu beenden.

    Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Öffnen Sie die externe IP-Adresse Ihres Eingangsdatencontrollers in einem Webbrowser, um die Azure Store-App in Aktion zu sehen.

    Screenshot: Beispielanwendung für einen AKS-Store.

Löschen des Clusters

Wenn Sie nicht planen, das AKS-Tutorial zu durchlaufen, bereinigen Sie unnötige Ressourcen, um Azure-Gebühren zu vermeiden.

Entfernen Sie die Ressourcengruppe, den Containerdienst und alle zugehörigen Ressourcen mithilfe des Befehls az group delete.

az group delete --name myResourceGroup --yes --no-wait

Hinweis

Der AKS-Cluster wurde mit einer systemseitig zugewiesenen verwalteten Identität erstellt. Dies ist die Standardidentitätsoption, die in dieser Schnellstartanleitung verwendet wird. Die Plattform verwaltet diese Identität, sodass Sie sie nicht manuell entfernen müssen.

In diesem Schnellstart haben Sie einen Kubernetes-Cluster mit AKS Automatic und anschließend eine einfache Anwendung mit mehreren Containern in diesem Cluster bereitgestellt. Diese Beispielanwendung dient nur zu Demozwecken und stellt nicht alle bewährten Methoden für Kubernetes-Anwendungen dar. Anleitungen zum Erstellen vollständiger Lösungen mit AKS für die Produktion finden Sie unter AKS-Lösungsleitfaden.

Weitere Informationen zu AKS Automatic finden Sie in der Einführung in den Azure Kubernetes Service (AKS) Automatic