Szybki start: tworzenie zasobu usługi Azure Kubernetes Fleet Manager i dołączanie do klastrów członkowskich przy użyciu interfejsu wiersza polecenia platformy Azure

Rozpocznij pracę z usługą Azure Kubernetes Fleet Manager (Fleet) przy użyciu interfejsu wiersza polecenia platformy Azure, aby utworzyć zasób Fleet, a później połączyć klastry usługi Azure Kubernetes Service (AKS) jako klastry członkowskie.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

  • Zapoznaj się z koncepcyjnym omówieniem tej funkcji, która zawiera wyjaśnienie floty i klastrów członkowskich, do których odwołuje się ten dokument.

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

  • Tożsamość (użytkownik lub jednostka usługi), która może służyć do logowania się do interfejsu wiersza polecenia platformy Azure. Ta tożsamość musi mieć następujące uprawnienia do typów zasobów Fleet i AKS w celu wykonania kroków wymienionych w tym przewodniku Szybki start:

    • 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
  • Zainstaluj lub uaktualnij interfejs wiersza polecenia platformy Azure do wersji lub nowszej 2.53.1 .

  • Zainstaluj rozszerzenie interfejsu az extension add wiersza polecenia platformy Azure floty przy użyciu polecenia i upewnij się, że twoja wersja jest co najmniej 1.0.0.

    az extension add --name fleet
    
  • Ustaw następujące zmienne środowiskowe:

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    
  • Zainstaluj kubectl polecenie i kubelogin użyj polecenia az aks install-cli .

    az aks install-cli
    
  • Klastry usługi AKS, które mają zostać przyłączone jako klastry członkowskie do zasobu Fleet, muszą znajdować się w obsługiwanych wersjach usługi AKS. Dowiedz się więcej na temat zasad pomocy technicznej wersji usługi AKS tutaj.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to grupa logiczna, w której zasoby platformy Azure są wdrażane i zarządzane. Podczas tworzenia grupy zasobów zostanie wyświetlony monit o określenie lokalizacji. Ta lokalizacja to lokalizacja magazynu metadanych grupy zasobów oraz lokalizacja, w której zasoby działają na platformie Azure, jeśli nie określisz innej lokalizacji podczas tworzenia zasobu.

Ustaw subskrypcję platformy Azure i utwórz grupę zasobów przy użyciu az group create polecenia .

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

Poniższy przykład danych wyjściowych przypomina pomyślne utworzenie grupy zasobów:

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

Tworzenie zasobu Fleet

Zasób Fleet można utworzyć w celu późniejszego grupowania klastrów usługi AKS jako klastrów członkowskich. Domyślnie ten zasób umożliwia grupowanie i orkiestrację aktualizacji klastra członkowskiego. Jeśli centrum Fleet jest włączone, inne funkcje w wersji zapoznawczej są włączone, takie jak propagacja obiektów Kubernetes do klastrów członkowskich i równoważenie obciążenia usługi L4 w wielu klastrach członkowskich.

Ważne

Od tej pory po utworzeniu zasobu Fleet nie można zmienić trybu koncentratora dla zasobu floty.

Opcja 1 — tworzenie floty bez klastra koncentratora

Jeśli chcesz używać floty tylko do orkiestracji aktualizacji, co jest domyślnym środowiskiem podczas tworzenia nowego zasobu Fleet, możesz utworzyć zasób Fleet bez klastra koncentratora przy użyciu az fleet create polecenia . Aby uzyskać więcej informacji, zobacz Co to jest klaster centrum (wersja zapoznawcza)?.

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

Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

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

Opcja 2 — tworzenie floty przy użyciu klastra koncentratora

Jeśli chcesz używać rozwiązania Fleet dla propagacji obiektów Kubernetes i równoważenia obciążenia z wieloma klastrami oprócz orkiestracji aktualizacji, musisz utworzyć zasób Fleet z włączonym klastrem koncentratora, określając --enable-hub parametr za az fleet create pomocą polecenia .

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

Dane wyjściowe powinny wyglądać podobnie do przykładowych danych wyjściowych w poprzedniej sekcji.

Dołączanie do klastrów składowych

Flota obsługuje obecnie dołączanie istniejących klastrów usługi AKS jako klastrów członkowskich.

  1. Ustaw następujące zmienne środowiskowe dla klastrów członkowskich:

    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. Dołącz istniejące klastry usługi AKS do zasobu Fleet przy użyciu az fleet member create polecenia .

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

    Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

    {
      "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. Sprawdź, czy klastry członkowskie pomyślnie przyłączyły zasób Fleet przy użyciu az fleet member list polecenia .

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

    W przypadku powodzenia dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

    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>
    

Następne kroki