Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva si usa un modello di Azure Resource Manager (ARM) per creare un cluster Servizio Azure Kubernetes (AKS) che esegue Azure Contenitore Linux (ACL) come sistema operativo del nodo. Dopo aver installato i prerequisiti, creare una coppia di chiavi SSH, esaminare il modello, distribuire il modello e connettersi al cluster.
considerazioni e limitazioni di Azure Container Linux (ACL)
Prima di iniziare, esamina le seguenti considerazioni e limitazioni per ACL:
- ACL è generalmente disponibile a partire da AKS v1.34.
- ACL richiede Trusted Launch con Secure Boot e il vTPM. Le varianti Non-Trusted Launch non sono disponibili.
- ACL su Arm64 richiede SKU basati su Cobalt (v6) per abilitare la compatibilità con Trusted Launch.
-
NodeImageeNonesono gli unici canali di aggiornamento del sistema operativo supportati.UnmanagedeSecurityPatchsono incompatibili con ACL a causa della directory/usrnon modificabile. - Artifact Streaming non è supportato.
- Il sandboxing dei pod non è supportato.
- Le macchine virtuali riservate non sono supportate.
- Le macchine virtuali di seconda generazione non sono supportate.
Prerequisiti
Annotazioni
È possibile usare Azure Cloud Shell o un'installazione locale del interfaccia della riga di comando di Azure per eseguire i comandi in questa guida introduttiva.
- Se si esegue l'interfaccia della riga di comando di Azure in locale, installare l'interfaccia della riga di comando di Azure. Se si esegue in Windows o macOS, è consigliabile eseguire interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire il interfaccia della riga di comando di Azure in un contenitore Docker.
- Se si usa un'installazione locale, accedere al interfaccia della riga di comando di Azure usando il comando
az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con il interfaccia della riga di comando di Azure. - Se richiesto, installare l'estensione di interfaccia della riga di comando di Azure al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
- Azure Container Linux richiede interfaccia della riga di comando di Azure versione 2.86.0 o successiva. Usare il comando
az versionper trovare la versione interfaccia della riga di comando di Azure e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, usare ilaz upgradecomando . - Se kubectl non è già installato, installarlo tramite interfaccia della riga di comando di Azure usando il comando
az aks install-clio seguire le istruzioni upstream. - Per creare un cluster AKS usando un modello ARM, è necessario fornire una chiave pubblica SSH. Se è necessaria questa risorsa, passare alla sezione Creare una coppia di chiavi SSH per generarne una prima di distribuire il modello. Se si dispone già di una coppia di chiavi SSH, è possibile passare alla sezione Esaminare il modello .
- L'identità usata per creare il cluster deve avere le autorizzazioni minime appropriate. Per altre informazioni sull'accesso e l'identità per il servizio Azure Kubernetes, vedere Opzioni di accesso e identità per il servizio Azure Kubernetes.
- Per distribuire un modello ARM, è necessario disporre dell'accesso in scrittura alle risorse che si stanno distribuendo e dell'accesso a tutte le operazioni sul tipo di risorsa Microsoft.Resources/deployments. Ad esempio, per distribuire una macchina virtuale (VM), sono necessarie le autorizzazioni Microsoft.Compute/virtualMachines/write e Microsoft.Resources/deployments/*. Per un elenco dei ruoli e delle autorizzazioni, vedere Ruoli predefiniti di Azure.
Creare una coppia di chiavi SSH
Per accedere ai nodi di AKS, ci si connette utilizzando una coppia di chiavi SSH (pubblica e privata) che si genera usando il comando ssh-keygen. Per impostazione predefinita, questi file vengono creati nella directory ~/.ssh. L'esecuzione del comando ssh-keygen sovrascrive qualsiasi coppia di chiavi SSH con lo stesso nome già esistente nella posizione specificata.
Passare a https://shell.azure.com per aprire Cloud Shell nel browser.
Eseguire il comando
ssh-keygen. L'esempio seguente crea una coppia di chiavi SSH usando la crittografia RSA e una lunghezza in bit pari a 4096:ssh-keygen -t rsa -b 4096
Per altre informazioni su come creare le chiavi SSH, vedere Creare e gestire chiavi SSH per l'autenticazione in una macchina virtuale Linux in Azure.
Rivedere il modello
La distribuzione seguente usa un modello arm da Azure Modelli di avvio rapido:
{
"$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]"
}
}
}
Il tipo di risorsa definita nel modello di Resource Manager è Microsoft.ContainerService/managedClusters.
Implementare il modello
Selezionare Distribuisci in Azure per accedere e aprire il modello.
Nella pagina Informazioni di base, lasciare i valori predefiniti per GB delle dimensioni disco del sistema operativo, Numero di agenti, dimensione macchina virtuale agente e tipo di sistema operativo, nonché configurare i parametri del modello seguenti:
- Sottoscrizione: selezionare una sottoscrizione di Azure.
- Gruppo di risorse: selezionare Crea nuovo. Immettere un nome univoco per il gruppo di risorse, ad esempio myACLResourceGroup, quindi selezionare OK.
- SKU del sistema operativo: specificare AzureContainerLinux.
- Località: selezionare una località, ad esempio Stati Uniti occidentali.
- Nome cluster: Immettere un nome univoco per il cluster AKS, ad esempio myACLCluster.
- Prefisso DNS: immettere un prefisso DNS univoco per il cluster, ad esempio myaclcluster.
- Nome utente amministratore Linux: immettere un nome utente per connettersi tramite SSH, ad esempio azureuser.
- Origine chiave pubblica SSH: selezionare Usa chiave pubblica esistente.
- Nome della coppia di chiavi: copiare e incollare la parte pubblica della coppia di chiavi SSH (per impostazione predefinita, il contenuto di ~/.ssh/id_rsa.pub).
Selezionare Rivedi e crea>Crea.
La creazione del cluster del servizio Azure Kubernetes richiede alcuni minuti. Attendere il completamento della distribuzione prima di connettersi al cluster.
Connettersi al cluster
Per gestire un cluster Kubernetes, usare il client da riga di comando kubernetes kubectl.
kubectl è già installato se si usa Azure Cloud Shell. Per installare kubectl in locale, usare il comando az aks install-cli.
Configurare
kubectlper connettersi al cluster Kubernetes usando il comandoaz aks get-credentials. Questo comando scarica le credenziali e configura l'interfaccia della riga di comando di Kubernetes per usarle.az aks get-credentials --resource-group myACLResourceGroup --name myACLClusterVerificare la connessione al cluster usando il comando
kubectl get. Questo comando restituisce un elenco dei nodi del cluster.kubectl get nodesL'output di esempio seguente mostra i tre nodi creati nei passaggi precedenti. Assicurarsi che lo stato del nodo sia Pronto:
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
Eliminare il cluster
Se non hai più bisogno delle risorse create in questa guida introduttiva, puoi eliminarle per evitare addebiti di Azure.
Eliminare il gruppo di risorse Azure e tutte le risorse correlate usando il comando az group delete:
az group delete --name myACLResourceGroup --yes --no-wait
Contenuti correlati
In questa guida di avvio rapido è stato distribuito un cluster del servizio Azure Kubernetes per Linux nel contenitore di Azure usando un modello ARM. Per altre informazioni sull'ACL, vedere le risorse seguenti: