Share via


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 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 usare il az 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.

  1. 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}
    
  2. 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"
    }
    
  3. 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>
    

Passaggi successivi