Начало работы с сетью приложений Azure Kubernetes для AKS (предварительная версия)

Это важно

Предварительные версии функций AKS доступны на условиях самообслуживания и добровольного выбора. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS сопровождаются частичной поддержкой клиентов на основе принципа лучших усилий. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:

Эта статья поможет вам приступить к работе с сетью приложений Azure Kubernetes для AKS. Он содержит пошаговые инструкции по созданию ресурса "Сеть приложений" и подключению кластера AKS к нему в качестве члена кластера.

Необходимые условия

Настройка переменных среды

  • Задайте следующие переменные среды для ресурса и кластера Сети приложений Azure Kubernetes. Вы можете использовать существующий кластер или создать его на следующем шаге , прежде чем добавлять его в сеть приложений Azure Kubernetes.

    export SUBSCRIPTION=<subscription-id>
    export LOCATION=<location>
    export APPNET_RG=<resource-group-for-appnet-resource>
    export APPNET_NAME=<appnet-name>
    export APPNET_MEMBER_NAME=<appnet-member-name>
    export AKS_RG=<aks-cluster-resource-group>
    export CLUSTER_NAME=<cluster-name>
    

Регистрация функции для общедоступной предварительной версии

  1. Зарегистрируйте функцию для сети приложений Azure Kubernetes с помощью az feature register команды.

    az feature register --namespace Microsoft.AppLink --name PublicPreview --subscription $SUBSCRIPTION
    
  2. Дождитесь регистрации функции. Вы можете проверить состояние с помощью az feature show команды.

    az feature show --namespace Microsoft.AppLink --name PublicPreview --subscription $SUBSCRIPTION
    

    Поле properties.state в выходных данных покажет Registered после завершения регистрации.

  3. После регистрации компонента обновите регистрацию поставщика ресурсов Microsoft.AppLink с помощью az provider register команды.

    az provider register --namespace Microsoft.AppLink --subscription $SUBSCRIPTION
    

Установка расширения CLI AppNet

  • Установите расширение CLI AppNet с помощью az extension add команды.

    az extension add --name appnet-preview
    

Настройка активной подписки

  • Задайте активную подписку на ту, которую вы хотите использовать для сети приложений Azure Kubernetes с помощью az account set команды.

    az account set --subscription $SUBSCRIPTION 
    

Создание кластера AKS

Замечание

Кластеры-члены не должны находиться в отдельных группах ресурсов. Они могут находиться в той же группе ресурсов, что и ресурс Сети приложений Azure Kubernetes. Однако все кластеры-члены должны находиться в одном арендаторе.

Если у вас нет существующего кластера AKS для подключения к сети приложений Azure Kubernetes, необходимо создать его. Azure сети приложений Kubernetes требуются кластеры AKS, соответствующие следующим требованиям:

Если у вас уже есть кластер, который уже соответствует этим требованиям, можно пропустить этот шаг.

  1. Создайте группу ресурсов для кластера AKS с помощью az group create команды.

    az group create --name $AKS_RG --location $LOCATION 
    
  2. Создайте кластер AKS с поддержкой интеграции Microsoft Entra AKS, издателя OIDC и надстройки API шлюза Kubernetes с поддержкой команды az aks create с флагами --enable-oidc-issuer, --enable-aad и --enable-gateway-api. Не включайте надстройку сервисной сетки Istio (--enable-azure-service-mesh) в этом кластере.

    az aks create --name $CLUSTER_NAME --resource-group $AKS_RG --enable-oidc-issuer --enable-aad --enable-gateway-api
    

Создание ресурса сети приложений Azure Kubernetes

  1. Создайте группу ресурсов для ресурса Azure Kubernetes Application Network с помощью az group create команды.

    az group create --name $APPNET_RG --location $LOCATION 
    
  2. Создайте ресурс сети приложений Azure Kubernetes с помощью az appnet create команды.

    Замечание

    Вы не можете изменить расположение, подписку или группу ресурсов сети приложений после ее создания.

    az appnet create --resource-group $APPNET_RG --name $APPNET_NAME --location $LOCATION  --identity-type SystemAssigned
    

    Процесс создания может занять несколько минут. Поле properties.provisioningState выходных данных отображает Succeeded для сети приложений Azure Kubernetes, успешно созданной.

  3. Просмотрите ресурс сети приложений Azure Kubernetes с помощью az appnet show команды.

    az appnet show --resource-group $APPNET_RG --name $APPNET_NAME
    

Присоединение кластера AKS к сети приложений Azure Kubernetes

При присоединении кластера-члена к сети приложений Azure Kubernetes можно указать один из следующих режимов обновления для этого кластера: полностью управляемый или самоуправляемый. Режим обновления определяет, как применяются минорные обновления версии сетевого приложения Azure Kubernetes к кластеру-участнику. Если при присоединении участника не указан режим обновления, он по умолчанию SelfManaged. Дополнительные сведения о режимах обновления см. в статье "Настройка обновлений для членов сети приложений Azure Kubernetes".

Замечание

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

  • Присоедините кластер AKS к сети приложений Azure Kubernetes, используя команду az appnet member join с параметром --upgrade-mode, установленным на FullyManaged или SelfManaged. В следующем примере показано, как присоединиться к кластеру-члену в SelfManaged режиме:

    az appnet member join \
        --resource-group $APPNET_RG \
        --appnet-name $APPNET_NAME \
        --member-name $APPNET_MEMBER_NAME \
        --member-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME \
        --upgrade-mode SelfManaged
    

Проверка подключения членских кластеров

  • После присоединения к кластеру можно проверить подключение и просмотреть сведения о члене az appnet member show с помощью команды.

    az appnet member show --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME
    

    Например, если он зарегистрирован в полностью управляемом режиме с каналом выпуска Stable, результат будет выглядеть следующим образом:

    {
      "id": "/subscriptions/$SUBSCRIPTION/resourceGroups/$APPNET_RG/providers/Microsoft.AppLink/appLinks/$APPNET_NAME/appLinkMembers/$APPNET_MEMBER_NAME",
      "location": "myLocation",
      "name": "myMemberName",
      "properties": {
        "clusterType": "AKS",
        "connectivityProfile": {
          "eastWestGateway": {
            "visibility": "Internal"
          }
        },
        "metadata": {
          "resourceId": "/subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME"
        },
        "observabilityProfile": {
          "metrics": {
            "metricsEndpoint": "https://myMember-mcp-fqdn.appnet.net"
          }
        },
        "provisioningState": "Succeeded",
        "upgradeProfile": {
          "mode": "FullyManaged",
          "fullyManagedUpgradeProfile": {
            "releaseChannel": "Stable"
          }
        }
      },
      "resourceGroup": "myAppNetRG",
      "type": "microsoft.applink/applinks/applinkmembers"
    }
    

Список участников сети приложений Azure Kubernetes

Несколько кластеров могут присоединиться к сети приложений Azure Kubernetes.

  • Список всех членов сети приложений Azure Kubernetes с помощью az appnet member list команды.

    az appnet member list --resource-group $APPNET_RG --appnet-name $APPNET_NAME --output table
    

Удаление сетевых ресурсов приложений Azure Kubernetes

Удаление ресурса Azure Сети приложений Kubernetes автоматически удаляет все его члены, поэтому сначала не нужно удалять участников. Удаление элемента( независимо от того, по отдельности или через этот каскад) не удаляет соответствующий кластер AKS.

Удаление члена сети приложений Azure Kubernetes

Замечание

Перед удалением члена необходимо удалить рабочие нагрузки из плоскости внешних данных, удалив ранее примененные метки Istio, например istio.io/use-waypoint, istio.io/use-waypoint-namespaceи istio.io/dataplane-modeиз ресурсов.

  1. Удалите члена из сети приложений Azure Kubernetes с помощью az appnet member remove команды.

    az appnet member remove --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME
    
  2. Убедитесь, что член удален с помощью az appnet member list команды.

    az appnet member list --resource-group $APPNET_RG --appnet-name $APPNET_NAME 
    

Удаление ресурса Сети приложений Azure Kubernetes

  • Удалите ресурс Сети приложений Azure Kubernetes с помощью az appnet delete команды.

    az appnet delete --resource-group $APPNET_RG --appnet-name $APPNET_NAME
    

Дополнительные сведения о сети приложений Azure Kubernetes см. в следующих статьях: