Quickstart: Een Azure Kubernetes Fleet Manager-resource maken en lidclusters koppelen met behulp van Azure CLI

Ga aan de slag met Azure Kubernetes Fleet Manager (Fleet) met behulp van de Azure CLI om een Fleet-resource te maken en later AKS-clusters (Azure Kubernetes Service) als lidclusters te verbinden.

Vereisten

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

  • Lees het conceptuele overzicht van deze functie, waarin een uitleg wordt geboden over vloot- en lidclusters waarnaar in dit document wordt verwezen.

  • Een Azure-account met een actief abonnement. Gratis een account maken

  • Een identiteit (gebruiker of service-principal) die kan worden gebruikt om u aan te melden bij Azure CLI. Deze identiteit moet over de volgende machtigingen beschikken voor de resourcetypen Fleet en AKS voor het voltooien van de stappen in deze quickstart:

    • 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
  • Azure CLI installeren of upgraden naar versie 2.53.1 of hoger.

  • Installeer de Fleet Azure CLI-extensie met behulp van de az extension add opdracht en zorg ervoor dat uw versie ten minste 1.0.0is.

    az extension add --name fleet
    
  • Stel de volgende omgevingsvariabelen in:

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    
  • Installeer kubectl en kubelogin gebruik de az aks install-cli opdracht.

    az aks install-cli
    
  • De AKS-clusters die u als lidclusters wilt koppelen aan de Fleet-resource, moeten zich in de ondersteunde versies van AKS bevinden. Meer informatie over het ondersteuningsbeleid voor AKS-versies vindt u hier.

Een brongroep maken

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven. Deze locatie is de opslaglocatie van de metagegevens van uw resourcegroep en waar uw resources worden uitgevoerd in Azure als u geen andere locatie opgeeft tijdens het maken van resources.

Stel het Azure-abonnement in en maak een resourcegroep met behulp van de az group create opdracht.

az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus

Het volgende uitvoervoorbeeld lijkt op het maken van de resourcegroep:

{
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
  "location": "eastus",
  "managedBy": null,
  "name": "fleet-demo",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Een Fleet-resource maken

U kunt een Fleet-resource maken om uw AKS-clusters later te groeperen als lidclusters. Deze resource maakt het groeperen en bijwerken van lidclusters standaard mogelijk. Als de Fleet-hub is ingeschakeld, worden andere preview-functies ingeschakeld, zoals kubernetes-objectdoorgifte naar lidclusters en L4-servicetaakverdeling in meerdere lidclusters.

Belangrijk

Zodra er een Fleet-resource is gemaakt, is het niet mogelijk om de hubmodus voor de vlootresource te wijzigen.

Optie 1: Een vloot maken zonder een hubcluster

Als u Fleet alleen wilt gebruiken voor updateindeling, wat de standaardervaring is bij het maken van een nieuwe Fleet-resource, kunt u een Fleet-resource maken zonder het hubcluster met behulp van de az fleet create opdracht. Zie Wat is een hubcluster (preview)? voor meer informatie.

az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus

De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

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

Optie 2: Een vloot maken met een hubcluster

Als u Fleet wilt gebruiken voor kubernetes-objectdoorgifte en taakverdeling voor meerdere clusters naast het bijwerken van indeling, moet u de Fleet-resource maken waarvoor het hubcluster is ingeschakeld door de --enable-hub parameter met de az fleet create opdracht op te geven.

az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus --enable-hub

Uw uitvoer moet er ongeveer uitzien als de voorbeelduitvoer in de vorige sectie.

Lidclusters koppelen

Fleet ondersteunt momenteel het samenvoegen van bestaande AKS-clusters als lidclusters.

  1. Stel de volgende omgevingsvariabelen in voor lidclusters:

    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. Koppel uw bestaande AKS-clusters aan de Fleet-resource met behulp van de az fleet member create opdracht.

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

    De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    {
      "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. Controleer of de lidclusters zijn gekoppeld aan de Fleet-resource met behulp van de az fleet member list opdracht.

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

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

    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>
    

Volgende stappen