Avvio rapido: Creare una risorsa di Azure Kubernetes Fleet Manager e aggiungere cluster membri usando l'interfaccia della riga di comando di Azure
Introduzione ad Azure Kubernetes Fleet Manager (Fleet) usando l'interfaccia della riga di comando di Azure per creare una risorsa Fleet e successivamente connettere cluster servizio Azure Kubernetes (AKS) come cluster membri.
Prerequisiti
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Leggere la panoramica concettuale di questa funzionalità, che fornisce una spiegazione delle flotta e dei cluster membri a cui si fa riferimento in questo documento.
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Identità (utente o entità servizio) che può essere usata per accedere all'interfaccia della riga di comando di Azure. Questa identità deve avere le autorizzazioni seguenti per i tipi di risorse Fleet e servizio Azure Kubernetes per completare i passaggi elencati in questa guida introduttiva:
- Microsoft.ContainerService/fleets/read
- Microsoft.ContainerService/fleets/write
- Microsoft.ContainerService/fleets/members/read
- Microsoft.ContainerService/fleets/members/write
- Microsoft.ContainerService/fleetMemberships/read
- Microsoft.ContainerService/fleetMemberships/write
- Microsoft.ContainerService/managedClusters/read
- Microsoft.ContainerService/managedClusters/write
Installare o aggiornare l'interfaccia della riga di comando di Azure alla versione
2.53.1
o successiva.Installare l'estensione dell'interfaccia della riga di comando di Azure fleet usando il
az extension add
comando e assicurarsi che la versione sia almeno1.0.0
.az extension add --name fleet
Impostare le seguenti variabili di ambiente:
export SUBSCRIPTION_ID=<subscription_id> export GROUP=<your_resource_group_name> export FLEET=<your_fleet_name>
Installare
kubectl
ekubelogin
usare ilaz aks install-cli
comando .az aks install-cli
I cluster del servizio Azure Kubernetes da aggiungere come cluster membri alla risorsa Fleet devono trovarsi nelle versioni supportate del servizio Azure Kubernetes. Altre informazioni sui criteri di supporto della versione del servizio Azure Kubernetes sono disponibili qui.
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite. Quando si crea un gruppo di risorse, viene richiesto di specificare una posizione. Questo percorso è la posizione di archiviazione dei metadati del gruppo di risorse e la posizione in cui le risorse vengono eseguite in Azure se non si specifica un'altra posizione durante la creazione delle risorse.
Impostare la sottoscrizione di Azure e creare un gruppo di risorse usando il az group create
comando .
az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus
L'esempio di output seguente è simile alla corretta creazione del gruppo di risorse:
{
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
"location": "eastus",
"managedBy": null,
"name": "fleet-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Creare una risorsa Fleet
È possibile creare una risorsa Fleet per raggruppare in un secondo momento i cluster del servizio Azure Kubernetes come cluster membri. Per impostazione predefinita, questa risorsa abilita il raggruppamento e l'orchestrazione degli aggiornamenti dei cluster membri. Se l'hub Fleet è abilitato, sono abilitate altre funzionalità di anteprima, ad esempio la propagazione degli oggetti Kubernetes nei cluster membri e il bilanciamento del carico del servizio L4 tra più cluster membri.
Importante
Al momento, una volta creata una risorsa Fleet, non è possibile modificare la modalità hub per la risorsa fleet.
Opzione 1 - Creare una flotta senza un cluster hub
Se si vuole usare Fleet solo per l'orchestrazione degli aggiornamenti, ovvero l'esperienza predefinita durante la creazione di una nuova risorsa Fleet, è possibile creare una risorsa Fleet senza il cluster hub usando il az fleet create
comando . Per altre informazioni, vedere Che cos'è un cluster hub (anteprima)?.
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus
L'output dovrebbe essere simile all'esempio di output seguente:
{
"etag": "...",
"hubProfile": null,
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
"identity": {
"principalId": null,
"tenantId": null,
"type": "None",
"userAssignedIdentities": null
},
"location": "eastus",
"name": "fleet-demo",
"provisioningState": "Succeeded",
"resourceGroup": "fleet-demo",
"systemData": {
"createdAt": "2023-11-03T17:15:19.610149+00:00",
"createdBy": "<user>",
"createdByType": "User",
"lastModifiedAt": "2023-11-03T17:15:19.610149+00:00",
"lastModifiedBy": "<user>",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.ContainerService/fleets"
}
Opzione 2- Creare una flotta con un cluster hub
Se si vuole usare fleet per la propagazione degli oggetti Kubernetes e il bilanciamento del carico multi-cluster oltre all'orchestrazione degli aggiornamenti, è necessario creare la risorsa Fleet con il cluster hub abilitato specificando il --enable-hub
parametro con il az fleet create
comando .
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus --enable-hub
L'output dovrebbe essere simile all'output di esempio nella sezione precedente.
Aggiungere cluster membri
Fleet supporta attualmente l'aggiunta di cluster del servizio Azure Kubernetes esistenti come cluster membri.
Impostare le variabili di ambiente seguenti per i cluster membri:
export MEMBER_NAME_1=aks-member-1 export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
Aggiungere i cluster del servizio Azure Kubernetes esistenti alla risorsa Fleet usando il
az fleet member create
comando .# Join the first member cluster az fleet member create --resource-group ${GROUP} --fleet-name ${FLEET} --name ${MEMBER_NAME_1} --member-cluster-id ${MEMBER_CLUSTER_ID_1}
L'output dovrebbe essere simile all'esempio di output seguente:
{ "clusterResourceId": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-x", "etag": "...", "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/members/aks-member-x", "name": "aks-member-1", "provisioningState": "Succeeded", "resourceGroup": "<GROUP>", "systemData": { "createdAt": "2022-10-04T19:04:56.455813+00:00", "createdBy": "<user>", "createdByType": "User", "lastModifiedAt": "2022-10-04T19:04:56.455813+00:00", "lastModifiedBy": "<user>", "lastModifiedByType": "User" }, "type": "Microsoft.ContainerService/fleets/members" }
Verificare che i cluster membri siano stati aggiunti correttamente alla risorsa Fleet usando il
az fleet member list
comando .az fleet member list --resource-group ${GROUP} --fleet-name ${FLEET} -o table
In caso di esito positivo, l'output dovrebbe essere simile all'output di esempio seguente:
ClusterResourceId Name ProvisioningState ResourceGroup ----------------------------------------------------------------------------------------------------------------------------------------------- ------------ ------------------- --------------- /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-1 aks-member-1 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-2 aks-member-2 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-3 aks-member-3 Succeeded <GROUP>