Schnellstart: Bereitstellen eines Azure Container Linux (ACL) Azure Kubernetes Service (AKS) Cluster mithilfe einer ARM-Vorlage

In dieser Schnellstartanleitung verwenden Sie eine Azure Resource Manager(ARM)-Vorlage, um einen Azure Kubernetes Service (AKS) Cluster zu erstellen, der Azure Container Linux (ACL) als Knotenbetriebssystem (Os) ausführt. Nach der Installation der erforderlichen Komponenten erstellen Sie ein SSH-Schlüsselpaar, überprüfen die Vorlage, stellen die Vorlage bereit und stellen eine Verbindung mit dem Cluster her.

Überlegungen und Einschränkungen von Azure Container Linux (ACL)

Bevor Sie beginnen, lesen Sie die folgenden Überlegungen und Einschränkungen für ACL:

Voraussetzungen

Note

Sie können entweder Azure Cloud Shell oder eine lokale Installation der Azure CLI verwenden, um die Befehle in dieser Schnellstartanleitung auszuführen.

  • Wenn Sie die Azure CLI lokal ausführen, installieren Sie den Azure CLI. Wenn Sie mit Windows oder macOS arbeiten, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter How to run the Azure CLI in a Docker container.
  • Wenn Sie eine lokale Installation verwenden, melden Sie sich mit dem Befehl az login beim Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
  • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
  • Azure Container Linux erfordert Azure CLI Version 2.86.0 oder höher. Verwenden Sie den Befehl az version, um die installierten Azure CLI Version und abhängigen Bibliotheken zu finden. Verwenden Sie den az upgrade Befehl, um auf die neueste Version zu aktualisieren.
  • Wenn Sie kubectl noch nicht installiert haben, installieren Sie es über Azure CLI mithilfe des Befehls az aks install-cli, oder folgen Sie den Anweisungen für upstream.
  • Um einen AKS-Cluster mit einer ARM-Vorlage zu erstellen, müssen Sie einen öffentlichen SSH-Schlüssel bereitstellen. Wenn Sie diese Ressource benötigen, wechseln Sie zum Abschnitt "Erstellen eines SSH-Schlüsselpaars ", um eine zu generieren, bevor Sie die Vorlage bereitstellen. Wenn Sie bereits über ein SSH-Schlüsselpaar verfügen, können Sie zum Abschnitt " Vorlage überprüfen " springen.
  • Die Identität, die Sie zum Erstellen Ihres Clusters verwenden, muss über die entsprechenden Mindestberechtigungen verfügen. Weitere Informationen zu Zugriff und Identität für AKS finden Sie unter Zugriffs- und Identitätsoptionen für Azure Kubernetes Service (AKS).
  • Zum Bereitstellen einer ARM-Vorlage benötigen Sie Schreibzugriff auf die Ressourcen, die Sie bereitstellen, sowie Zugriff auf alle Vorgänge für den Ressourcentyp Microsoft.Resources/deployments. Um beispielsweise einen virtuellen Computer (VM) bereitzustellen, benötigen Sie Microsoft. Compute/virtualMachines/Write und Microsoft. Ressourcen/Bereitstellungen/* Berechtigungen. Eine Liste der Rollen und Berechtigungen finden Sie in den integrierten Azure-Rollen.

Erstellen eines SSH-Schlüsselpaars

Für den Zugriff auf AKS-Knoten stellen Sie eine Verbindung mithilfe eines SSH-Schlüsselpaars (öffentlich und privat) her, das Sie mithilfe des Befehls ssh-keygen generieren. Diese Dateien werden standardmäßig im Verzeichnis ~/.ssh erstellt. Durch die Ausführung des Befehls ssh-keygen wird jedes SSH-Schlüsselpaar mit dem gleichen Namen überschrieben, das bereits am angegebenen Speicherort vorhanden ist.

  1. Navigieren Sie zu https://shell.azure.com, um Cloud Shell in Ihrem Browser zu öffnen.

  2. Führen Sie den Befehl ssh-keygen aus. Das folgende Beispiel erstellt ein SSH-Schlüsselpaar mittels RSA-Verschlüsselung und einer Bitlänge von 4096:

    ssh-keygen -t rsa -b 4096
    

Weitere Informationen zum Erstellen von SSH-Schlüsseln finden Sie unter Erstellen und Verwalten von SSH-Schlüsseln für die Authentifizierung in Azure.

Überprüfen der Vorlage

Die folgende Bereitstellung verwendet eine ARM-Vorlage aus Azure Schnellstartvorlagen:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "clusterName": {
      "type": "string",
      "defaultValue": "aclakscluster",
      "metadata": {
        "description": "The name of the Managed Cluster resource."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "The location of the Managed Cluster resource."
      }
    },
    "dnsPrefix": {
      "type": "string",
      "metadata": {
        "description": "Optional DNS prefix to use with hosted Kubernetes API server FQDN."
      }
    },
    "osDiskSizeGB": {
      "type": "int",
      "defaultValue": 0,
      "minValue": 0,
      "maxValue": 1023,
      "metadata": {
        "description": "Disk size (in GB) to provision for each of the agent pool nodes. Specifying 0 applies the default disk size for that agentVMSize."
      }
    },
    "agentCount": {
      "type": "int",
      "defaultValue": 3,
      "minValue": 1,
      "maxValue": 50,
      "metadata": {
        "description": "The number of nodes for the cluster."
      }
    },
    "agentVMSize": {
      "type": "string",
      "defaultValue": "standard_d2s_v3",
      "metadata": {
        "description": "The size of the Virtual Machine."
      }
    },
    "linuxAdminUsername": {
      "type": "string",
      "metadata": {
        "description": "User name for the Linux Virtual Machines."
      }
    },
    "sshRSAPublicKey": {
      "type": "string",
      "metadata": {
        "description": "Configure all linux machines with the SSH RSA public key string."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerService/managedClusters",
      "apiVersion": "2026-03-01",
      "name": "[parameters('clusterName')]",
      "location": "[parameters('location')]",
      "identity": {
        "type": "SystemAssigned"
      },
      "properties": {
        "dnsPrefix": "[parameters('dnsPrefix')]",
        "agentPoolProfiles": [
          {
            "name": "agentpool",
            "osDiskSizeGB": "[parameters('osDiskSizeGB')]",
            "count": "[parameters('agentCount')]",
            "vmSize": "[parameters('agentVMSize')]",
            "osType": "Linux",
            "osSKU": "AzureContainerLinux",
            "mode": "System"
          }
        ],
        "linuxProfile": {
          "adminUsername": "[parameters('linuxAdminUsername')]",
          "ssh": {
            "publicKeys": [
              {
                "keyData": "[parameters('sshRSAPublicKey')]"
              }
            ]
          }
        }
      }
    }
  ],
  "outputs": {
    "controlPlaneFQDN": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerService/managedClusters', parameters('clusterName')), '2024-02-01').fqdn]"
    }
  }
}

Die in der ARM-Vorlage definierte Ressource ist Microsoft.ContainerService/managedClusters.

Implementieren der Vorlage

  1. Wählen Sie In Azure bereitstellen aus, um sich anzumelden und eine Vorlage zu öffnen.

    Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

  2. Behalten Sie auf der Seite Grundlagen die Standardwerte für Größe des Betriebssystemdatenträgers (GB), Anzahl von Agents, Größe der Agent-VM und Betriebssystemtyp bei, und konfigurieren Sie die folgenden Vorlagenparameter:

    • Abonnement: Wählen Sie ein Azure-Abonnement aus.
    • Ressourcengruppe: Wählen Sie Neu erstellen. Geben Sie einen eindeutigen Namen für die Ressourcengruppe ein, z. B. myACLResourceGroup, und wählen Sie dann OK aus.
    • Betriebssystem-SKU: AzureContainerLinux angeben.
    • Ort: Wählen Sie einen Ort aus, z. B. "West US".
    • Clustername: Geben Sie einen eindeutigen Namen für den AKS-Cluster ein, z. B. myACLCluster.
    • DNS-Präfix: Geben Sie ein eindeutiges DNS-Präfix für Ihren Cluster ein, z. B. myaclcluster.
    • Linux-Administratorbenutzername: Geben Sie einen Benutzernamen ein, um eine Verbindung mit SSH herzustellen, z. B. azureuser.
    • Wählen Sie unter Quelle für öffentlichen SSH-Schlüssel die Option Vorhandenen öffentlichen Schlüssel verwenden aus.
    • Name des Schlüsselpaars: Kopieren Sie den öffentlichen Teil Ihres SSH-Schlüsselpaars, und fügen Sie ihn ein (standardmäßig der Inhalt von ~/.ssh/id_rsa.pub).
  3. Wählen Sie Bewerten + erstellen>Erstellen aus.

    Die Erstellung des AKS-Clusters dauert einige Minuten. Warten Sie, bis die Bereitstellung abgeschlossen ist, bevor Sie eine Verbindung mit dem Cluster herstellen.

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. Um kubectl lokal zu installieren, verwenden Sie den Befehl az aks install-cli.

  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 myACLResourceGroup --name myACLCluster
    
  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 die drei in den vorherigen Schritten erstellten Knoten. Stellen Sie sicher, dass der Knotenstatus Bereit lautet:

    NAME                       STATUS   ROLES   AGE     VERSION
    aks-agentpool-12345678-0   Ready    agent   6m44s   v1.34.0
    aks-agentpool-12345678-1   Ready    agent   6m46s   v1.34.0
    aks-agentpool-12345678-2   Ready    agent   6m45s   v1.34.0
    

Löschen des Clusters

Wenn Sie die in dieser Schnellstartanleitung erstellten Ressourcen nicht mehr benötigen, können Sie sie bereinigen, um Azure Gebühren zu vermeiden.

Löschen Sie die Azure Ressourcengruppe und alle zugehörigen Ressourcen mithilfe des Befehls az group delete:

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

In dieser Schnellstartanleitung haben Sie einen Azure Container Linux (ACL)-AKS-Cluster mithilfe einer ARM-Vorlage bereitgestellt. Weitere Informationen zu ACL finden Sie in den folgenden Ressourcen: