Freigeben über


Schnellstart: Erstellen eines Azure Kubernetes Service (AKS) automatischen Clusters

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. AKS Automatic enthält auch ein [Pod-Bereitschafts-SLA][azure-sla], das garantiert, dass 99,9 % der qualifizierenden Pod-Bereitschaftsvorgänge innerhalb von 5 Minuten abgeschlossen werden und somit eine zuverlässige, selbstheilende Infrastruktur für Ihre Anwendungen gewährleistet. 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. Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version bereits dort installiert.
  • Wenn Sie über mehrere Azure-Abonnements verfügen, wählen Sie die entsprechende Abonnement-ID aus, um den Befehl az account set zu verwenden und Ressourcen zu berechnen.
  • Zum Bereitstellen einer Bicep-Datei benötigen Sie Schreibzugriff auf die Ressourcen, die Sie erstellen, sowie Zugriff auf alle Vorgänge des Ressourcentyps Microsoft.Resources/deployments. Um beispielsweise einen virtuellen Computer (VM) zu erstellen, benötigen Sie Microsoft.Compute/virtualMachines/write und Microsoft.Resources/deployments/* Berechtigungen. Eine Liste der Rollen und Berechtigungen finden Sie unter Azure integrierte Rollen.

Einschränkungen

  • Der Systemknotenpool von AKS-Automatik-Clustern erfordert eine Bereitstellung in Azure-Regionen, die mindestens drei Verfügbarkeitszonen, ephemere Betriebssystemdatenträger und das Azure Linux-Betriebssystem unterstützen.
  • AKS Automatic ist in den folgenden Regionen verfügbar: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northcentralus, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus, westus2, westus3.
  • Der AKS-Automatikknoten hat die Sperrung der Knotenressourcengruppe vorkonfiguriert, was Änderungen an der MC_-Ressourcengruppe nicht erlaubt und Verbindungen von virtuellen Netzwerken zur standardmäßigen privaten DNS-Zone verhindert. Verwenden Sie für Szenarien mit übergreifendem VNet oder benutzerdefiniertem DNS ein benutzerdefiniertes Netzwerk und privates DNS, indem Sie Erstellen Sie einen privaten Azure Kubernetes Service (AKS) Automatik-Cluster in einem benutzerdefinierten virtuellen Netzwerk.

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. Sie können über das Azure-Portal Kontingente für bestimmte VM-Familien einsehen und Anforderungen zur Kontingenterhöhung einreichen. 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 mit dem az aks create-Befehl, wobei der --sku-Parameter auf automatic festgelegt wird. 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.

    Die 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.

    Die Screenshot der Registerkarte

  4. Wählen Sie auf der Registerkarte Monitoring Ihre gewünschten Überwachungskonfigurationen aus Azure Monitor (Containereinblicke), verwaltete Prometheus, Grafana Dashboards, Container Network Observability (ACNS) und Warnungen aus, und wählen Sie dann Next aus.

     Der Screenshot der Registerkarte

  5. Wählen Sie auf der Registerkarte Advanced Ihre gewünschten erweiterten Konfigurationen für den privaten Zugriff aus, Azure Virtual Networking, Managed Identity, Container Network Security (ACNS) und Verwaltete Kubernetes-Namespaces, und wählen Sie dann Review + create 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. Starten Sie mit der Konfiguration Ihrer ersten Anwendung aus GitHub und mit dem Einrichten einer automatisierten Deployment-Pipeline.

    Der Screenshot der Registerkarte

Überprüfen Sie die 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 Informationen zur in der datei Bicep definierten Ressource finden Sie im Microsoft. ContainerService/managedClusters Reference.

Bereitstellen der Bicep Datei

  1. Speichern Sie die Bicep Datei als main.bicep auf Ihren 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 bereits installiert, wenn Sie Azure Cloud Shell verwenden. 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 Kubernetes rollenbasierte Zugriffskontrolle (RBAC) konfiguriert.

Hinweis

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

  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 zum Ausführen der AKS Store-Anwendung erforderlich 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 der Azure Store-Beispielarchitektur.

  • 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. Diese werden hier zur Einfachheit verwendet, es wird jedoch empfohlen, verwaltete Dienste wie Azure Cosmos DB oder Azure Service Bus zu verwenden.

  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, befindet sich 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 einen Webbrowser mit der externen IP-Adresse Ihres Eingangs, 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 Lernprogramm AKS 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 unter Introduction to Azure Kubernetes Service (AKS) Automatic