Share via


Avvio rapido: creare una risorsa di Gestione flotta Kubernetes di Azure e aggiungere cluster di membri usando l'interfaccia della riga di comando di Azure

Introduzione a Gestione flotta Kubernetes di Azure (Flotta) usando l'interfaccia della riga di comando di Azure per creare una risorsa Flotta e successivamente connettere cluster del Servizio Azure Kubernetes (AKS) come cluster di 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 di membri a cui si fa riferimento in questo documento.

  • Leggere la panoramica concettuale dei tipi diflotta, che fornisce un confronto tra diverse opzioni di configurazione della flotta.

  • 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 Flotta e Servizio Azure Kubernetes per completare i passaggi elencati in questa guido avvio rapido:

    • 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 flotta usando il comando az extension add e assicurarsi che la versione sia almeno 1.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 e kubelogin usando il comando az aks install-cli.

    az aks install-cli
    
  • I cluster del Servizio Azure Kubernetes da aggiungere come cluster di membri alla risorsa Flotta 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. Questa posizione è la posizione di archiviazione dei metadati del gruppo di risorse e dove le risorse vengono eseguite in Azure se non si specifica un altro percorso durante la creazione della risorsa.

Impostare la sottoscrizione di Azure e creare un gruppo di risorse usando il comando az group create.

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 Flotta

È possibile creare una risorsa Flotta per raggruppare in un secondo momento i cluster del Servizio Azure Kubernetes come cluster di membri. Quando viene creata tramite l'interfaccia della riga di comando di Azure, per impostazione predefinita, questa risorsa abilita il raggruppamento e l'orchestrazione degli aggiornamenti dei cluster di membri. Se l'hub Flotta è abilitato, sono abilitate altre funzionalità di anteprima, ad esempio la propagazione degli oggetti Kubernetes nei cluster di membri e il bilanciamento del carico del servizio L4 tra più cluster di membri. Per altre informazioni, vedere la panoramica concettuale dei tipi di flotta, che fornisce un confronto tra diverse configurazioni della flotta.

Importante

Dopo aver creato una risorsa Flotta di Kubernetes, è possibile aggiornare una risorsa Flotta di Kubernetes senza un cluster di hub a uno con un cluster di hub. Per le risorse della flotta Kubernetes con un cluster di hub, una volta selezionata, non è possibile modificare la selezione privata o pubblica.

Se si desidera usare Flotta solo per l'orchestrazione degli aggiornamenti, ovvero l'esperienza predefinita durante la creazione di una nuova risorsa Flotta tramite l'interfaccia della riga di comando di Azure, è possibile creare una risorsa Flotta senza il cluster di hub usando il comando az fleet create.

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"
}

Aggiungere cluster di membri

Flotta supporta attualmente l'aggiunta di cluster del Servizio Azure Kubernetes esistenti come cluster di membri.

  1. Impostare le variabili di ambiente seguenti per i cluster di 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}
    
  2. Aggiungere i cluster del Servizio Azure Kubernetes esistenti alla risorsa Flotta usando il comando az fleet member create.

    # 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"
    }
    
  3. Verificare che i cluster di membri siano stati aggiunti correttamente alla risorsa Flotta usando il comando az fleet member list.

    az fleet member list --resource-group ${GROUP} --fleet-name ${FLEET} -o table
    

    Se funziona, 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>
    

Passaggi successivi