Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten använder du en Azure Resource Manager-mall (ARM) för att skapa ett Azure Kubernetes Service (AKS) kluster som kör Azure Container Linux (ACL) som nodoperativsystem (OS). När du har installerat förhandskraven skapar du ett SSH-nyckelpar, granskar mallen, distribuerar mallen och ansluter till klustret.
överväganden och begränsningar för Azure Container Linux (ACL)
Innan du börjar bör du granska följande överväganden och begränsningar för ACL:
- ACL är allmänt tillgängligt från och med AKS v1.34.
- ACL kräver betrodd start med säker start och vTPM. Icke-betrodda startvarianter är inte tillgängliga.
- ACL på Arm64 kräver Cobalt-baserade SKU:er (v6) för kompatibilitet med Trusted Launch.
-
NodeImageochNoneär de enda operativsystemuppgraderingskanalerna som stöds.UnmanagedochSecurityPatchär inte kompatibla med ACL på grund av den oföränderliga/usrkatalogen. - Streaming av artefakter stöds inte.
- Poddsandboxning stöds inte.
- Konfidentiella virtuella datorer stöds inte.
- Virtuella datorer i generation 1 stöds inte.
Förutsättningar
Note
Du kan använda antingen Azure Cloud Shell eller en lokal installation av Azure CLI för att köra kommandona i den här snabbstarten.
- Om du kör Azure CLI lokalt installera Azure CLI. Om du kör på Windows eller macOS, överväg att köra Azure CLI i en Docker-container. För mer information, se Hur man kör Azure CLI i en Docker-container.
- Om du använder en lokal installation loggar du in på Azure CLI med kommandot
az login. För att avsluta autentiseringsprocessen, följ stegen som visas i din terminal. Andra inloggningsalternativ finns i Logga in med Azure CLI. - Om du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
- Azure Container Linux kräver Azure CLI version 2.86.0 eller senare. Använd kommandot
az versionför att hitta Azure CLI version och beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen använder duaz upgradekommandot . - Om du inte redan har kubectl installerat installerar du det via Azure CLI med kommandot
az aks install-clieller följer anvisningarna uppström. - Om du vill skapa ett AKS-kluster med hjälp av en ARM-mall måste du ange en offentlig SSH-nyckel. Om du behöver den här resursen går du till avsnittet Skapa ett SSH-nyckelpar för att generera ett innan du distribuerar mallen. Om du redan har ett SSH-nyckelpar kan du gå vidare till avsnittet Granska mallen .
- Den identitet som du använder för att skapa klustret måste ha lämpliga minimibehörigheter. Mer information om åtkomst och identitet för AKS finns i Åtkomst- och identitetsalternativ för Azure Kubernetes Service (AKS).
- För att distribuera en ARM-mall behöver du skrivbehörighet för de resurser som du distribuerar och åtkomst till alla åtgärder för resurstypen Microsoft.Resources/deployments. Om du till exempel vill distribuera en virtuell dator (VM) behöver du Microsoft. Compute/virtualMachines/write och Microsoft. Behörigheter för resurser/distributioner/*. Det finns en lista med roller och behörigheter i Inbyggda roller i Azure.
Skapa ett SSH-nyckelpar
För att få åtkomst till AKS-noder ansluter du med ett SSH-nyckelpar (offentligt och privat) som du genererar med kommandot ssh-keygen . Som standard skapas dessa filer i katalogen ~/.ssh .
ssh-keygen Kommandot skriver över alla SSH-nyckelpar med samma namn som redan finns på den angivna platsen.
Gå till https://shell.azure.com för att öppna Cloud Shell i din webbläsare.
Kör
ssh-keygenkommandot. I följande exempel skapas ett SSH-nyckelpar med RSA-kryptering och en bit längd på 4096:ssh-keygen -t rsa -b 4096
Mer information om hur du skapar SSH-nycklar finns i Skapa och hantera SSH-nycklar för autentisering i Azure.
Granska mallens layout
Följande distribution använder en ARM-mall från Azure Quickstart Templates:
{
"$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]"
}
}
}
Resurstypen som definieras i ARM-mallen är Microsoft.ContainerService/managedClusters.
Använd mallen
Välj Distribuera till Azure för att logga in och öppna en mall.
På sidan Grundläggande lämnar du standardvärdena för OS Disk Size GB, Agent Count, Agent VM Size och OS Type och konfigurerar följande mallparametrar:
- Prenumeration: Välj en Azure-prenumeration.
- Resursgrupp: Välj Skapa ny. Ange ett unikt namn för resursgruppen, till exempel myACLResourceGroup, och välj sedan OK.
- OS SKU: Ange AzureContainerLinux.
- Plats: Välj en plats, till exempel USA, västra.
- Klusternamn: Ange ett unikt namn för AKS-klustret, till exempel myACLCluster.
- DNS-prefix: Ange ett unikt DNS-prefix för klustret, till exempel myaclcluster.
- Användarnamn för Linux-administratör: Ange ett användarnamn för att ansluta med hjälp av SSH, till exempel azureuser.
- Källa för offentlig SSH-nyckel: Välj Använd befintlig offentlig nyckel.
- Nyckelparnamn: Kopiera och klistra in den offentliga delen av SSH-nyckelparet (som standard innehållet i ~/.ssh/id_rsa.pub).
Välj Granska + skapa>Skapa.
Det tar några minuter att skapa AKS-klustret. Vänta tills distributionen har slutförts innan du ansluter till klustret.
Anslut till klustret
Om du vill hantera ett Kubernetes-kluster använder du Kubernetes-kommandoradsklienten kubectl.
kubectl är redan installerat om du använder Azure Cloud Shell. Om du vill installera kubectl lokalt använder du kommandot az aks install-cli.
Konfigurera
kubectlför att ansluta till kubernetes-klustret med hjälp avaz aks get-credentialskommandot . Det här kommandot laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.az aks get-credentials --resource-group myACLResourceGroup --name myACLClusterKontrollera anslutningen till klustret med hjälp av
kubectl getkommandot . Det här kommandot returnerar en lista över klusternoderna.kubectl get nodesFöljande exempelutdata visar de tre noder som skapades i föregående steg. Se till att nodens status är Ready:
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
Ta bort klustret
Om du inte längre behöver de resurser som du skapade i den här snabbstarten kan du rensa dem för att undvika Azure avgifter.
Ta bort resursgruppen Azure och alla relaterade resurser med kommandot az group delete:
az group delete --name myACLResourceGroup --yes --no-wait
Relaterat innehåll
I den här snabbstarten distribuerade du ett AKS-kluster (Azure Container Linux) med hjälp av en ARM-mall. Mer information om ACL finns i följande resurser: