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.
Si applica a: ✔️ AKS Automatico
Il servizio Azure Kubernetes Automatico è un'esperienza Kubernetes gestita che automatizza la configurazione e le operazioni del cluster del servizio Azure Kubernetes e incorpora le configurazioni delle procedure consigliate. In questa guida introduttiva si apprende come:
- Distribuire un cluster del Servizio Azure Kubernetes automatico.
- Eseguire un'applicazione multi-contenitore di esempio con un gruppo di microservizi e front-end web, simulando uno scenario di vendita al dettaglio.
Prima di iniziare
- Questa guida introduttiva presuppone una comprensione di base dei concetti relativi a Kubernetes. Per altre informazioni, vedere Concetti di base relativi a Kubernetes per il servizio Azure Kubernetes.
- Il sistema AKS Automatico abilita Azure Policy sul cluster AKS, ma è necessario preregistrare il provider di risorse nella propria sottoscrizione. Per ulteriori informazioni, vedere i fornitori di risorse e i tipi di Azure.
È possibile utilizzare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione ad Azure Cloud Shell.
Se preferisci eseguire localmente i comandi di riferimento della CLI, installa l'Azure CLI. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se usi un'installazione locale, accedi all'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 Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando ti viene richiesto, installa l'estensione Azure CLI al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
- Azure CLI versione 2.77.0 o successiva. Trova la versione usando il comando
az --version. Per installare o aggiornare, vedere Installare Azure CLI. Se si sta usando Azure Cloud Shell, la versione più recente è già installata. - Se sono presenti più sottoscrizioni di Azure, selezionare l'ID sottoscrizione appropriato per fatturare le risorse usando il
az account setcomando .
- Per distribuire un file Bicep, è necessario l'accesso in scrittura alle risorse create e l'accesso a tutte le operazioni sul tipo di risorsa
Microsoft.Resources/deployments. Ad esempio, per creare una macchina virtuale (VM), sono necessarie le autorizzazioniMicrosoft.Compute/virtualMachines/writeeMicrosoft.Resources/deployments/*. Per un elenco dei ruoli e delle autorizzazioni, vedere Ruoli predefiniti di Azure.
Limitazioni
- Il pool di nodi di sistema dei cluster AKS automatici richiede la distribuzione in aree di Azure che supportano almeno tre zone di disponibilità, un disco del sistema operativo effimero e Azure Linux OS.
- È possibile creare cluster del servizio Azure Kubernetes automatico solo nelle aree in cui Integrazione rete virtuale per il server API è disponibile a livello generale.
- Il cluster Automatico AKS ha il blocco del gruppo di risorse dei nodi preconfigurato, che non consente modifiche al gruppo di risorse MC_, impedendo i collegamenti VNet sulla zona DNS privata predefinita. Per scenari tra VNets o DNS personalizzati, utilizzare BYO VNET e BYO Private DNS seguendo le istruzioni di Creare un cluster automatico del Azure Kubernetes Service privato in una rete virtuale personalizzata.
Importante
Il servizio Azure Kubernetes automatico tenta di selezionare dinamicamente una dimensione della macchina virtuale per il pool di nodi system in base alla capacità disponibile nella sottoscrizione. Assicurarsi che la sottoscrizione abbia una quota per 16 vCPU di una delle dimensioni seguenti nell'area in cui si distribuisce il cluster: 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 o Standard_D4alds_v5. È possibile visualizzare le quote per specifiche famiglie di macchine virtuali e inviare richieste di aumento delle quote tramite il portale di Azure.
Per altre domande, vedere la documentazione sulla risoluzione dei problemi.
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite.
Creare un gruppo di risorse usando il comando az group create. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:
az group create --name myResourceGroup --location eastus
L'output di esempio seguente mostra la corretta creazione del gruppo di risorse:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Creare un cluster del Servizio Azure Kubernetes automatico
Crea un cluster AKS automatico usando il comando az aks create con il parametro --sku impostato su automatic. L'esempio seguente crea un cluster denominato myAKSAutomaticCluster con Managed Prometheus e l'integrazione di Container Insights abilitata:
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Il comando viene completato dopo pochi minuti e vengono restituite informazioni in formato JSON sul cluster.
Creare un cluster Kubernetes automatico
Per creare un cluster AKS Automatico, cercare e selezionare Servizi Kubernetes. Questo ti porta alla pagina centro Kubernetes (anteprima).
Nella pagina Centro Kubernetes (anteprima), fare clic su Crea>cluster Kubernetes automatico.
Nella scheda Informazioni di base compilare tutti i campi obbligatori (sottoscrizione, gruppo di risorse, nome del cluster Kubernetes e Area) e quindi selezionare Avanti.
Nella scheda Monitoraggio selezionare le configurazioni di monitoraggio desiderate da Monitoraggio di Azure (Container Insights), Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) e Avvisi e quindi selezionare Avanti.
Nella scheda Avanzate selezionare le configurazioni avanzate Desiderate Accesso privato, Rete virtuale di Azure, Identità gestita, Sicurezza di rete contenitore (ACNS) e Spazi dei nomi Kubernetes gestiti e quindi selezionare Rivedi e crea.
Esaminare le configurazioni nella scheda Rivedi e crea e quindi selezionare Crea per distribuire il cluster AKS automatico.
Introduzione alla configurazione della prima applicazione da GitHub e alla configurazione di una pipeline di distribuzione automatizzata.
Esaminare il file Bicep
Il file Bicep seguente definisce un cluster AKS Auto:
@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'
}
}
Per altre informazioni sulla risorsa definita nel file Bicep, vedere le informazioni di riferimento su Microsoft.ContainerService/managedClusters.
Implementazione del file Bicep
Salvare il file Bicep come main.bicep nel computer locale.
Importante
Il file Bicep imposta il parametro
clusterNamesulla stringa myAKSAutomaticCluster. Se si vuole usare un nome di cluster diverso, assicurarsi di aggiornare la stringa con il nome del cluster preferito prima di salvare il file nel computer.Distribuire il file Bicep usando il comando [
az deployment group create][az-deployment-group-create].az deployment group create --resource-group myResourceGroup --template-file main.bicepLa creazione del cluster del servizio Azure Kubernetes richiede alcuni minuti. Attendere il completamento della distribuzione del cluster prima di procedere al passaggio successivo.
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. È possibile eseguire l'installazione kubectl in locale usando il az aks install-cli comando . I cluster del Servizio Azure Kubernetes automatico sono configurati con Microsoft Entra ID per il controllo degli accessi in base al ruolo (RBAC) di Kubernetes.
Annotazioni
Quando si crea un cluster usando l'interfaccia della riga di comando di Azure, all'utente vengono assegnati ruoli predefiniti per Azure Kubernetes Service RBAC Cluster Admin.
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 myResourceGroup --name myAKSAutomaticClusterVerificare 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 come viene richiesto di accedere:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.Dopo l'accesso, l'output di esempio seguente mostra i pool di nodi di sistema gestiti. Assicurarsi che lo stato del nodo sia Pronto.
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
Distribuire l'applicazione
Per distribuire l'applicazione, utilizzare un file manifesto per creare tutti gli oggetti necessari per eseguire l'applicazione AKS Store. Un file manifesto Kubernetes definisce lo stato desiderato di un cluster, ad esempio le immagini del contenitore da eseguire. Il manifesto include le distribuzioni e i servizi Kubernetes seguenti:
- Front-store: applicazione Web per i clienti per visualizzare i prodotti ed effettuare ordini.
- Servizio prodotto: mostra le informazioni sul prodotto.
- Servizio ordini: effettua ordini.
- Rabbit MQ: coda di messaggi per una coda di ordini.
Annotazioni
Non è consigliabile eseguire contenitori con stato, ad esempio Rabbit MQ, senza l'archiviazione permanente per la produzione. Questi vengono usati qui per semplicità, ma è consigliabile usare servizi gestiti, ad esempio Azure Cosmos DB o il bus di servizio di Azure.
Creare uno spazio dei nomi
aks-store-demoin cui distribuire le risorse Kubernetes.kubectl create ns aks-store-demoDistribuire l'applicazione usando il comando
kubectl applynello spazio dei nomiaks-store-demo. Il file YAML che definisce la distribuzione si trova in GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlL'output di esempio seguente mostra le distribuzioni e i servizi:
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
Testare l'applicazione
Durante l'esecuzione dell'applicazione, un servizio Kubernetes espone il front-end dell'applicazione a Internet. Il processo potrebbe richiedere alcuni minuti.
Controllare lo stato dei pod distribuiti usando il comando kubectl get pods. Fare in modo che tutti i pod siano
Runningprima di procedere. Se si tratta del primo carico di lavoro distribuito, il provisioning automatico dei nodi potrebbe richiedere alcuni minuti per creare un pool di nodi per eseguire i pod.kubectl get pods -n aks-store-demoVerificare la presenza di un indirizzo IP pubblico per l'applicazione front-store. Monitorare lo stato utilizzando il comando kubectl get service con l'argomento
--watch.kubectl get ingress store-front -n aks-store-demo --watchL'output ADDRESS per il servizio
store-frontinizialmente mostra vuoto:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mQuando INDIRIZZO passa da in sospeso a un indirizzo IP pubblico effettivo, usare
CTRL-Cper arrestare il processo di controllokubectl.L'output di esempio seguente mostra un indirizzo IP pubblico valido assegnato al servizio:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mAprire un Web browser all'indirizzo IP esterno dell'ingresso per visualizzare l'applicazione di Archivio di Azure in azione.
Eliminare il cluster
Se non si prevede di eseguire l'esercitazione del servizio Azure Kubernetes, ripulire le risorse non necessarie per evitare addebiti di Azure.
Rimuovere il gruppo di risorse, il servizio contenitore e tutte le risorse correlate usando il comando az group delete.
az group delete --name myResourceGroup --yes --no-wait
Annotazioni
Il cluster AKS è stato creato con un'identità gestita assegnata dal sistema, che rappresenta l'opzione predefinita per l'identità utilizzata in questa guida rapida. Questa identità è gestita dalla piattaforma, pertanto non è necessario rimuoverla manualmente.
Contenuti correlati
In questo avvio rapido, è stato distribuito un cluster Kubernetes usando il Servizio Azure Kubernetes automatico e successivamente è stata distribuita una semplice applicazione multi-contenitore. Questa applicazione di esempio è solo a scopo dimostrativo e non rappresenta tutte le procedure consigliate per le applicazioni Kubernetes. Per indicazioni sulla creazione di soluzioni complete con il servizio Azure Kubernetes per la produzione, vedere Linee guida per le soluzioni del servizio Azure Kubernetes.
Per altre informazioni sul servizio Azure Kubernetes automatico, vedere Introduzione al servizio Azure Kubernetes automatico