Краткое руководство. Создание ресурса Azure Kubernetes Fleet Manager и присоединение кластеров участников с помощью Azure CLI

Начало работы с диспетчером флотов Azure Kubernetes (Fleet) с помощью Azure CLI для создания ресурса Флота и последующего подключения кластеров Служба Azure Kubernetes (AKS) в качестве кластеров-членов.

Необходимые компоненты

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

  • Ознакомьтесь с концептуальным обзором этой функции, которая содержит описание флотов и кластеров членов, на которые ссылается этот документ.

  • Ознакомьтесь с концептуальной обзором типов флота, которые предоставляют сравнение различных вариантов конфигурации флота.

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .

  • Удостоверение (пользователь или субъект-служба), которое можно использовать для входа в Azure CLI. Это удостоверение должно иметь следующие разрешения на типы ресурсов Fleet и AKS для выполнения действий, перечисленных в этом кратком руководстве.

    • 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 до версии 2.53.1 или более поздней версии.

  • Установите расширение Azure CLI парка с помощью az extension add команды и убедитесь, что версия не менее1.0.0.

    az extension add --name fleet
    
  • Установите указанные ниже переменные среды.

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    
  • Установка kubectl и kubelogin использование az aks install-cli команды.

    az aks install-cli
    
  • Кластеры AKS, которые необходимо присоединить к кластеру-члену, должны находиться в поддерживаемых версиях AKS. Дополнительные сведения о политике поддержки версий AKS см. здесь.

Создание или изменение группы ресурсов

Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. При создании группы ресурсов вам будет предложено указать расположение. Это расположение хранилища метаданных группы ресурсов и место, где ресурсы выполняются в Azure, если вы не указываете другое расположение во время создания ресурса.

Задайте подписку Azure и создайте группу ресурсов с помощью az group create команды.

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

Следующий пример выходных данных похож на успешное создание группы ресурсов:

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

Создание ресурса Fleet

Вы можете создать ресурс Fleet для последующей группировки кластеров AKS в качестве кластеров-членов. При создании с помощью Azure CLI по умолчанию этот ресурс включает группирование и оркестрацию кластеров членов. Если концентратор Fleet включен, другие функции предварительной версии включены, например распространение объектов Kubernetes в кластеры-члены и балансировка нагрузки службы L4 между несколькими кластерами-членами. Дополнительные сведения см. в концептуальном обзоре типов флота, которые обеспечивают сравнение различных конфигураций флота.

Внимание

После создания ресурса Парка Kubernetes можно обновить ресурс Kubernetes Fleet без кластера концентратора до одного с кластером концентратора. Для ресурсов Kubernetes Fleet с кластером концентратора после выбора частного или общедоступного не удается изменить его.

Если вы хотите использовать флот только для оркестрации обновлений, который используется по умолчанию при создании нового ресурса Fleet с помощью Azure CLI, можно создать ресурс Fleet без кластера концентратора az fleet create с помощью команды.

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

Выходные данные должны выглядеть примерно так:

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

Присоединение кластеров участников

Парк в настоящее время поддерживает присоединение существующих кластеров AKS в качестве кластеров-членов.

  1. Задайте следующие переменные среды для кластеров членов:

    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. Присоедините существующие кластеры AKS к ресурсу Fleet с помощью az fleet member create команды.

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

    Выходные данные должны выглядеть примерно так:

    {
      "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. Убедитесь, что кластеры-члены успешно присоединились к ресурсу Fleet с помощью az fleet member list команды.

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

    В случае успешного выполнения выходные данные должны выглядеть примерно так:

    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>
    

Следующие шаги