Condividi tramite


Aggiornare il tipo di cluster hub per la risorsa Gestione flotta Kubernetes di Azure

Questo articolo illustra come aggiornare una risorsa Gestione flotta Kubernetes di Azure (Flotta Kubernetes) senza un cluster hub a una risorsa Flotta Kubernetes con un cluster hub. Quando viene creata una risorsa Flotta Kubernetes senza un cluster hub, non viene creato un cluster del servizio Azure Kubernetes centrale per la risorsa Flotta Kubernetes. Quando viene creata una risorsa Flotta Kubernetes con un cluster hub, viene creato un cluster del servizio Azure Kubernetes centrale e gestito per abilitare scenari come l'orchestrazione del carico di lavoro e il bilanciamento del carico di livello 4.

Per altre informazioni, vedere Scelta di un'opzione di Gestione flotta Kubernetes di Azure.

Prerequisiti e limitazioni

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Importante

Le risorse Flotta Kubernetes senza un cluster hub possono essere aggiornate a una risorsa Flotta Kubernetes con un cluster hub. Tuttavia, non è possibile effettuare il downgrade di una risorsa Flotta Kubernetes che dispone già di un cluster hub a una risorsa Flotta Kubernetes senza un cluster hub. Tutte le opzioni di configurazione e le impostazioni associate alla risorsa Flotta Kubernetes con un cluster hub non sono modificabili e non possono essere modificate dopo la creazione o l'aggiornamento. L'aggiornamento da una risorsa Flotta Kubernetes senza un cluster hub a una con un cluster hub può essere eseguito solo tramite l'interfaccia della riga di comando di Azure. Attualmente non esiste un'esperienza equivalente nel portale di Azure.

Configurazione iniziale

Per iniziare, creare un gruppo di risorse e una risorsa Flotta Kubernetes senza un cluster hub e aggiungere il cluster del servizio Azure Kubernetes esistente come membro. Sarà necessario ripetere il comando az fleet member create per ogni singolo cluster membro da associare alla risorsa flotta.

RG=myResourceGroup
LOCATION=eastus
FLEET=myKubernetesFleet
FLEET_MEMBER=<name-identifying-member-cluster>
SUBSCRIPTION_ID=<your-subscription-id>
CLUSTER=<your-aks-cluster-name>

# Create resource group
az group create -n $RG -l $LOCATION

# Create a hubless fleet resource 
az fleet create -g $RG -n $FLEET

# Join member cluster to hubless fleet resource
az fleet member create --name $FLEET_MEMBER --fleet-name $FLEET --resource-group $RG --member-cluster-id /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER

Aggiornare il tipo di cluster hub per la risorsa Flotta Kubernetes

Per aggiornare il tipo di cluster hub per la risorsa Flotta Kubernetes, usare il comando az fleet create con il flag --enable-hub impostato. Assicurarsi di includere qualsiasi altra opzione di configurazione pertinente, perché la risorsa flotta diventerà non modificabile al termine dell'operazione.

# Upgrade the Kubernetes fleet resource without a hub cluster to one with a hub cluster
az fleet create --name $FLEET --resource-group $RG --enable-hub 

Convalidare l'aggiornamento

Dopo aver eseguito il comando az fleet create per aggiornare la risorsa flotta, verificare che l'aggiornamento sia riuscito visualizzando l'output. Il valore di provisioningState dovrebbe essere Succeeded e il campo hubProfile deve esistere. Ad esempio, vedere l'output seguente:

{
  ...
  "hubProfile": {
    "agentProfile": {
      "subnetId": null,
      "vmSize": null
    },
    "apiServerAccessProfile": {
      "enablePrivateCluster": false,
      "enableVnetIntegration": false,
      "subnetId": null
    },
    "dnsPrefix": "contoso-user-xxxx-xxxxxxx",
    "fqdn": "contoso-user-flth-xxxxxx-xxxxxxxx.hcp.eastus.azmk8s.io",
    "kubernetesVersion": "1.28.5",
    "portalFqdn": "contoso-user-flth-xxxxxxx-xxxxxxxx.portal.hcp.eastus.azmk8s.io"
  },
  "provisioningState": "Succeeded"
  ...
}

Aggiungere di nuovo i cluster membri

Per aggiungere nuovamente i cluster membri alla risorsa flotta appena aggiornata, usare il comando az fleet member reconcile per ogni singolo cluster membro.

az fleet member reconcile -g $RG -f $FLEET -n $FLEET_MEMBER

Nota

I cluster del servizio Azure Kubernetes che si stanno aggiungendo alla risorsa flotta per la prima volta dopo che l'aggiornamento è già stato eseguito non devono essere riconciliati usando az fleet member reconcile.

Verificare che i cluster membri siano stati aggiunti correttamente

Per ogni cluster membro che si aggiunge alla flotta appena aggiornata, visualizzare l'output e verificare che provisioningState sia Succeeded. Ad esempio:

{
  ...
  "provisioningState": "Succeeded"
  ...
}

Verificare la funzionalità

È necessario accedere all'API Kubernetes del cluster hub. Se non si ha accesso, vedere Accedere all'API Kubernetes della risorsa Flotta con Gestione flotta Kubernetes di Azure.

Per verificare che la risorsa Flotta Kubernetes appena aggiornata funzioni correttamente e che i cluster membri siano stati aggiunti correttamente, verificare che sia possibile accedere al server API del cluster hub usando il comando kubectl get memberclusters.

Se funziona, l'output dovrebbe essere simile all'output di esempio seguente:

NAME           JOINED   AGE
aks-member-1   True     2m
aks-member-2   True     2m
aks-member-3   True     2m

Pulire le risorse

Al termine, è possibile rimuovere la risorsa flotta e le risorse correlate eliminando il gruppo di risorse. Tenere presente che questa operazione non rimuoverà i cluster del servizio Azure Kubernetes se risiedono in un gruppo di risorse diverso.

az group delete -n $RG

Passaggi successivi

Ora che la risorsa Flotta Kubernetes è stata aggiornata per avere un cluster hub, è possibile sfruttare le funzionalità che in precedenza non erano disponibili. Per esempi, vedere: