Delen via


Hubclustertype upgraden voor Azure Kubernetes Fleet Manager-resource

In dit artikel leert u hoe u een Azure Kubernetes Fleet Manager-resource (Kubernetes Fleet) kunt upgraden zonder een hubcluster naar een Kubernetes Fleet-resource met een hubcluster. Wanneer een Kubernetes Fleet-resource wordt gemaakt zonder een hubcluster, wordt er geen centraal AKS-cluster (Azure Kubernetes Service) gemaakt voor de Kubernetes Fleet-resource. Wanneer een Kubernetes Fleet-resource met een hubcluster wordt gemaakt, wordt er een centraal en beheerd AKS-cluster gemaakt om scenario's zoals workloadindeling en taakverdeling op laag 4 mogelijk te maken.

Zie Een Azure Kubernetes Fleet Manager-optie kiezen voor meer informatie.

Vereisten en beperkingen

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

  • Azure CLI installeren of upgraden naar de nieuwste versie.
  • Een Azure-account met een actief abonnement. Gratis een account maken
  • U moet een bestaande Kubernetes Fleet-resource hebben zonder een hubcluster. De stappen in dit artikel laten zien hoe u een Kubernetes Fleet-resource maakt zonder een hubcluster. Als u er al een hebt, kunt u de eerste installatie overslaan en beginnen bij Het clustertype Upgrade hub voor de Kubernetes Fleet-resource.
  • Dit artikel bevat ook stappen voor het toevoegen van lidclusters. Als u van plan bent om mee te gaan, hebt u ten minste één AKS-cluster nodig.

Belangrijk

Kubernetes Fleet-resources zonder een hubcluster kunnen worden geüpgraded naar een Kubernetes Fleet-resource met een hubcluster. Een Kubernetes Fleet-resource die al een hubcluster heeft, kan echter niet worden gedowngraded naar een Kubernetes Fleet-resource zonder een hubcluster. Alle configuratieopties en instellingen die zijn gekoppeld aan kubernetes Fleet-resource met een hubcluster, kunnen onveranderbaar zijn en kunnen niet worden gewijzigd na het maken of upgraden. Het upgraden van een Kubernetes Fleet-resource zonder een hubcluster naar een met een hubcluster kan alleen worden uitgevoerd via de Azure CLI. Er is momenteel geen equivalente Ervaring in Azure Portal.

Eerste configuratie

Maak eerst een resourcegroep en een Kubernetes Fleet-resource zonder een hubcluster en koppel uw bestaande AKS-cluster als lid. U moet de az fleet member create opdracht herhalen voor elk afzonderlijk lidcluster dat u wilt koppelen aan de vlootresource.

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

Hubclustertype upgraden voor de Kubernetes Fleet-resource

Als u het hubclustertype voor de Kubernetes Fleet-resource wilt upgraden, gebruikt u de az fleet create opdracht met de --enable-hub vlagset. Zorg ervoor dat u alle andere relevante configuratieopties opneemt, omdat de vlootresource onveranderbaar wordt nadat deze bewerking is voltooid.

# 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 

De upgrade valideren

Nadat u de az fleet create opdracht hebt uitgevoerd om de vlootresource te upgraden, controleert u of de upgrade is geslaagd door de uitvoer weer te geven. Het provisioningState moet worden gelezen Succeeded en het hubProfile veld moet bestaan. Zie bijvoorbeeld de volgende uitvoer:

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

Lidclusters opnieuw toevoegen

Als u lidclusters opnieuw wilt toevoegen aan de nieuwe vlootresource, gebruikt u de az fleet member reconcile opdracht voor elk afzonderlijk lidcluster.

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

Notitie

Alle AKS-clusters die u voor het eerst aan de vlootresource wilt koppelen nadat de upgrade al heeft plaatsgevonden, hoeven niet te worden afgestemd met behulp van az fleet member reconcile.

Controleren of lidclusters zijn gekoppeld

Bekijk de uitvoer voor elk lidcluster dat u opnieuw bij de zojuist bijgewerkte vloot hebt aangesloten en controleer of provisioningState deze wordt gelezen Succeeded. Voorbeeld:

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

Functionaliteit controleren

U hebt toegang nodig tot de Kubernetes-API van het hubcluster. Als u geen toegang hebt, raadpleegt u De Kubernetes-API van het Access Fleet-hubcluster.

Als u wilt controleren of de zojuist bijgewerkte Kubernetes Fleet-resource correct functioneert en of de lidclusters zijn gekoppeld, controleert u of u toegang hebt tot de API-server van het hubcluster met behulp van de kubectl get memberclusters opdracht.

Als dit lukt, moet uw uitvoer er ongeveer uitzien als in de volgende voorbeelduitvoer:

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

Resources opschonen

Zodra u klaar bent, kunt u de vlootresource en gerelateerde resources verwijderen door de resourcegroep te verwijderen. Houd er rekening mee dat met deze bewerking uw AKS-clusters niet worden verwijderd als ze zich in een andere resourcegroep bevinden.

az group delete -n $RG

Volgende stappen

Nu uw Kubernetes Fleet-resource is bijgewerkt naar een hubcluster, kunt u profiteren van functies die eerder niet beschikbaar waren voor u. Zie bijvoorbeeld: