Quickstart: Een ACL (Azure Container Linux) Azure Kubernetes Service (AKS)-cluster implementeren met behulp van een ARM-sjabloon

In deze quickstart gebruikt u een ARM-sjabloon (Azure Resource Manager) om een Azure Kubernetes Service (AKS)-cluster te maken dat Azure Container Linux (ACL) uitvoert als het knooppuntbesturingssysteem (OS). Nadat u de vereisten hebt geïnstalleerd, maakt u een SSH-sleutelpaar, controleert u de sjabloon, implementeert u de sjabloon en maakt u verbinding met het cluster.

overwegingen en beperkingen voor Azure Container Linux (ACL)

Voordat u begint, bekijk de volgende overwegingen en beperkingen voor ACL:

Prerequisites

Opmerking

U kunt Azure Cloud Shell of een lokale installatie van de Azure CLI gebruiken om de opdrachten in deze quickstart uit te voeren.

  • Als u de Azure CLI lokaal uitvoert, installeert u de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container uit te voeren. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
  • Als u een lokale installatie gebruikt, meldt u zich aan bij de Azure CLI met behulp van de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Aanmelden met de Azure CLI voor andere aanmeldingsopties.
  • Als u hierom wordt gevraagd, installeert u de Azure CLI-extensie bij het eerste gebruik. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
  • Azure Container Linux vereist Azure CLI versie 2.86.0 of hoger. Gebruik de opdracht az version om de Azure CLI-versie en afhankelijke bibliotheken te vinden die zijn geïnstalleerd. Gebruik de az upgrade opdracht om een upgrade uit te voeren naar de nieuwste versie.
  • Als u kubectl nog niet hebt geïnstalleerd, installeert u deze via Azure CLI met behulp van de opdracht az aks install-cli of volgt u de instructies upstream.
  • Als u een AKS-cluster wilt maken met behulp van een ARM-sjabloon, moet u een openbare SSH-sleutel opgeven. Als u deze resource nodig hebt, gaat u naar de sectie Een SSH-sleutelpaar maken om er een te genereren voordat u de sjabloon implementeert. Als u al een SSH-sleutelpaar hebt, kunt u doorgaan naar de sectie Sjabloon controleren.
  • De identiteit die u gebruikt om uw cluster te maken, moet over de juiste minimale machtigingen beschikken. Zie Toegangs- en identiteitsopties voor Azure Kubernetes Service (AKS) voor meer informatie over toegang en identiteit voor AKS.
  • Als u een ARM-sjabloon wilt implementeren, hebt u schrijftoegang nodig tot de resources die u implementeert en toegang tot alle bewerkingen voor het resourcetype Microsoft.Resources/deployments. Als u bijvoorbeeld een virtuele machine (VM) wilt implementeren, hebt u Microsoft nodig. Compute/virtualMachines/write en Microsoft. Resources/implementaties/* machtigingen. Zie Ingebouwde Azure-rollen voor een lijst met rollen en machtigingen.

Een SSH-sleutelpaar maken

Voor toegang tot AKS-knooppunten maakt u verbinding met behulp van een SSH-sleutelpaar (openbaar en privé) dat u genereert met behulp van de ssh-keygen opdracht. Deze bestanden worden standaard gemaakt in de map ~/.ssh. Als u de ssh-keygen opdracht uitvoert, overschrijft u een SSH-sleutelpaar met dezelfde naam die al bestaat op de opgegeven locatie.

  1. Ga naar https://shell.azure.com om Cloud Shell in uw browser te openen.

  2. Voer de ssh-keygen opdracht uit. In het volgende voorbeeld wordt een SSH-sleutelpaar gemaakt met RSA-versleuteling en een bitlengte van 4096:

    ssh-keygen -t rsa -b 4096
    

Zie SSH-sleutels maken en beheren voor verificatie in Azure voor meer informatie over het maken van SSH-sleutels.

De sjabloon controleren

Voor de volgende implementatie wordt een ARM-sjabloon uit Azure Quickstart-sjablonen gebruikt:

{
  "$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]"
    }
  }
}

Het resourcetype dat is gedefinieerd in de ARM-sjabloon is Microsoft.ContainerService/managedClusters.

De sjabloon implementeren

  1. Selecteer Implementeren in Azure om u aan te melden en een sjabloon te openen.

    Button om de Resource Manager-sjabloon te implementeren in Azure.

  2. Laat op de pagina Basisinformatie de standaardwaarden staan voor de schijfgrootte van het besturingssysteem, het aantal agents, de grootte van de agent-VM en het type besturingssysteem en configureert u de volgende sjabloonparameters:

    • Abonnement: Selecteer een Azure-abonnement.
    • Resourcegroep: Selecteer Nieuw maken. Voer een unieke naam in voor de resourcegroep, zoals myACLResourceGroup, en selecteer VERVOLGENS OK.
    • OS-SKU: Geef AzureContainerLinux op.
    • Locatie: Selecteer een locatie, zoals VS - west.
    • Clusternaam: Voer een unieke naam in voor het AKS-cluster, zoals myACLCluster.
    • DNS-voorvoegsel: voer een uniek DNS-voorvoegsel in voor uw cluster, zoals myaclcluster.
    • Gebruikersnaam voor Linux-beheerder: voer een gebruikersnaam in om verbinding te maken met behulp van SSH, zoals azureuser.
    • Openbare SSH-sleutelbron: selecteer Bestaande openbare sleutel gebruiken.
    • Naam van sleutelpaar: kopieer en plak het openbare deel van uw SSH-sleutelpaar (standaard de inhoud van ~/.ssh/id_rsa.pub).
  3. Selecteer Beoordelen en maken>Maken.

    Het duurt enkele minuten om het AKS-cluster te maken. Wacht tot de implementatie is voltooid voordat u verbinding maakt met het cluster.

Verbinding maken met het cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u de Kubernetes-opdrachtregelclient kubectl. kubectl is al geïnstalleerd als u Azure Cloud Shell gebruikt. Als u lokaal wilt installeren kubectl , gebruikt u de az aks install-cli opdracht.

  1. Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van het az aks get-credentials commando. Met deze opdracht worden inloggegevens gedownload en wordt de Kubernetes-CLI geconfigureerd om deze te gebruiken.

    az aks get-credentials --resource-group myACLResourceGroup --name myACLCluster
    
  2. Controleer de verbinding met uw cluster met behulp van de kubectl get opdracht. Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.

    kubectl get nodes
    

    In de volgende voorbeelduitvoer ziet u de drie knooppunten die in de vorige stappen zijn gemaakt. Zorg ervoor dat de status van het knooppunt gereed is:

    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
    

Het cluster verwijderen

Als u de resources die u in deze quickstart hebt gemaakt niet meer nodig hebt, kunt u ze opschonen om Azure kosten te voorkomen.

Verwijder de Azure resourcegroep en alle gerelateerde resources met behulp van de opdracht az group delete:

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

In deze quickstart hebt u een AKS-cluster (Azure Container Linux) geïmplementeerd met behulp van een ARM-sjabloon. Zie de volgende bronnen voor meer informatie over ACL: