Dela via


Snabbstart: Skapa en Azure Kubernetes Fleet Manager och ansluta medlemskluster med Azure CLI

Kom igång med Azure Kubernetes Fleet Manager med hjälp av Azure CLI för att skapa en Fleet Manager och ansluta kubernetes-kluster som stöds som medlemmar.

Förutsättningar

Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.

  • Läs den konceptuella översikten över Fleet Manager, som innehåller en förklaring av flottor och medlemskluster som refereras till i det här dokumentet.

  • Läs den konceptuella översikten över typer av flottor, som ger en jämförelse av olika konfigurationsalternativ för flottan.

  • Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.

  • En identitet (användaren eller tjänstens huvudnamn) som kan användas för att logga in på Azure CLI. Den här identiteten behöver följande behörigheter för Fleet-resurser, och, om tillämpligt, medlemskluster-resurser:

  • Behörigheter för flottan:

    • Microsoft.ContainerService/fleets/read
    • Microsoft.ContainerService/fleets/skriver
    • Microsoft.ContainerService/flottor/medlemmar/läsa
    • Microsoft.ContainerService/fleets/members/write
    • Microsoft.ContainerService/fleetMemberships/read
    • Microsoft.ContainerService/fleetMemberships/write
  • Om du ansluter till AKS-medlemskluster:

    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/write
    • Microsoft.ContainerService/managedClusters/listClusterUserCredential/action
  • Om du ansluter till Arc-aktiverade Kubernetes-medlemskluster:

    • Microsoft.Kubernetes/connectedClusters/read,
    • Microsoft.KubernetesConfiguration/extensions/read,
    • Microsoft.KubernetesConfiguration/extensions/write,
    • Microsoft.KubernetesConfiguration/extensions/delete,
  • Installera Azure CLI version 2.70.0 eller senare. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.

  • Du behöver fleet också Azure CLI-tillägget version 1.6.2 eller senare, som du kan installera genom att köra följande kommando:

    az extension add --name fleet
    

    Kör följande kommando för att uppdatera till den senaste versionen av tillägget som släpptes:

    az extension update --name fleet
    
  • Ange följande miljövariabler:

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    export LOCATION=<azure-region-name>
    
  • Installera kubectl med kommandot az aks install-cli .

    az aks install-cli
    
  • Kubernetes-kluster som ska anslutas som medlemmar i Fleet Manager måste använda versioner av respektive plattformar som stöds: se supportpolicy för AKS-klusterversion och validering av Azure Arc-aktiverad Kubernetes.

Skapa en resursgrupp

En Azure-resursgrupp är en logisk grupp där Azure-resurser distribueras och hanteras. När du skapar en resursgrupp uppmanas du att ange en plats. Den här platsen är lagringsplatsen för dina resursgruppsmetadata och där dina resurser körs i Azure om du inte anger någon annan plats när du skapar resurser.

Ange Azure-prenumerationen och skapa en resursgrupp med kommandot az group create .

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

Följande utdataexempel liknar skapandet av resursgruppen:

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

Skapa en Fleet Manager-resurs

Du kan skapa en Fleet Manager när som helst och välja att senare lägga till Kubernetes-kluster som stöds som medlemmar. När du skapar via Azure CLI möjliggör Fleet Manager som standard gruppering och uppdateringsorkestrering för medlemskluster. Om Fleet Manager skapas med ett hubbkluster är intelligent Kubernetes-objektplacering och belastningsutjämning över flera medlemskluster möjligt. Mer information finns i den konceptuella översikten över typer av flottor, som ger en jämförelse av olika flottkonfigurationer.

Viktigt!

Du kan ändra från en Fleet Manager utan ett hubbkluster till ett med ett hubbkluster, men inte det omvända. För Fleet Managers med ett hubbkluster kan den inte ändras när privat eller offentlig åtkomst har valts.

Om du bara vill använda Fleet Manager för Kubernetes- eller nodavbildningsuppdateringsorkestrering kan du skapa en Fleet-resurs utan hubbklustret med hjälp av az fleet create kommandot .

az fleet create \
    --resource-group ${GROUP} \
    --name ${FLEET} \
    --location ${LOCATION} \
    --enable-managed-identity

Dina utdata bör se ut ungefär som följande exempelutdata:

{
  "etag": "...",
  "hubProfile": null,
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
  "identity": {
    "principalId": <system-identity-id>,
    "tenantId": <entra-tenant-id>,
    "type": "SystemAssigned",
    "userAssignedIdentities": null
  },
  "location": "<LOCATION>",
  "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"
}

Ansluta till medlemskluster

Fleet stöder för närvarande anslutning till befintliga AKS-kluster eller Arc-aktiverade Kubernetes-kluster (förhandsversion) som medlemskluster.

  1. Ange följande miljövariabler för medlemskluster:

    export MEMBER_NAME_1=flt-member-cluster-1
    
    # For an AKS cluster
    export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
    
    # For an Arc-enabled cluster
    export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.Kubernetes/connectedClusters/${MEMBER_NAME_1}
    
  2. Anslut befintliga kluster till Fleet Manager med hjälp av az fleet member create kommandot .

    az fleet member create \
        --resource-group ${GROUP} \
        --fleet-name ${FLEET} \
        --name ${MEMBER_NAME_1} \
        --member-cluster-id ${MEMBER_CLUSTER_ID_1}
    

    Dina utdata bör se ut ungefär som följande exempelutdata:

    {
      "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. Kontrollera att medlemsklusteren har anslutits till Fleet Manager med hjälp av az fleet member list kommandot .

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

    Om det lyckas bör dina utdata se ut ungefär som i följande exempelutdata:

    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>
    

Nästa steg