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

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

  • Создайте кластер AKS и учетную запись хранения Azure.
  • Создайте подключение между кластером AKS и учетной записью хранения Azure с помощью соединителя службы.
  • Клонируйте пример приложения, которое будет взаимодействовать с учетной записью хранения Azure из кластера AKS.
  • Разверните приложение в модуле pod в кластере AKS и проверьте подключение.
  • Очистите ресурсы.

Внимание

Подключение к службе в AKS в настоящее время находится в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

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

Создание ресурсов Azure

  1. Создайте группу ресурсов для этого руководства.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Создайте кластер AKS со следующей командой или ознакомьтесь с руководством. Мы создадим подключение службы, определение pod и развертывание примера приложения в этом кластере.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Подключитесь к кластеру с помощью следующей команды.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Создайте учетную запись хранения Azure с помощью следующей команды или ознакомьтесь с руководством. Это целевая служба, подключенная к кластеру AKS, и пример приложения взаимодействует с ним.

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. Создайте реестр контейнеров Azure со следующей командой или ознакомьтесь с руководством. В реестре размещен образ контейнера примера приложения, который будет использоваться определением pod AKS.

    az acr create \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --sku Standard
    

    И включите анонимный запрос, чтобы кластер AKS мог использовать образы в реестре.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. Создайте управляемое удостоверение, назначаемое пользователем, с помощью следующей команды или ознакомьтесь с руководством. Управляемое удостоверение, назначаемое пользователем, используется в создании подключения службы для включения удостоверения рабочей нагрузки для рабочих нагрузок AKS.

    az identity create \
        --resource-group MyResourceGroup \
        --name MyIdentity
    

Создание подключения к службе с помощью соединителя службы (предварительная версия)

Создайте подключение службы между кластером AKS и учетной записью хранения Azure с помощью портал Azure или Azure CLI.

  1. Откройте службу Kubernetes в портал Azure и выберите соединитель службы в меню слева.

  2. Выберите "Создать " и заполните параметры, как показано ниже. Оставьте другие параметры значениями по умолчанию.

    Вкладка Основные сведения:

    Параметр Выбранный вариант Description
    Пространство имен Kubernetes default Пространство имен, в котором требуется подключение в кластере.
    тип услуги; Хранилище — BLOB-объект Тип целевой службы.
    Имя подключения storage_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения.
    Подписка <MySubscription> Подписка для целевой службы Хранилище BLOB-объектов Azure.
    Учетная запись хранения <MyStorageAccount> Целевая учетная запись хранения, к которой необходимо подключиться.
    Тип клиента Python Язык кода или платформа, используемая для подключения к целевой службе.

    Вкладка проверки подлинности:

    Параметр проверки подлинности Выбранный вариант Description
    Тип проверки подлинности Удостоверение рабочей нагрузки Тип проверки подлинности соединителя службы.
    Управляемая единица, назначаемая пользователем <MyIdentity> Управляемое удостоверение, назначаемое пользователем, необходимо для включения удостоверения рабочей нагрузки.
  3. После создания подключения на странице соединителя служб отображаются сведения о новом подключении. Снимок экрана: портал Azure, просмотр ресурсов Kubernetes, созданных соединителем службы.

Клонирование примера приложения

  1. Клонируйте репозиторий примера.

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Перейдите в пример папки репозитория для хранилища Azure:

    cd serviceconnector-aks-samples/azure-storage-workload-identity
    

Сборка и отправка образа контейнера

  1. Создайте и отправьте образы в реестр контейнеров с помощью команды Azure CLI az acr build .

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. Просмотрите образы в реестре az acr repository list контейнеров с помощью команды.

    az acr repository list --name <MyRegistry> --output table
    

Запуск приложения и проверка подключения

  1. Замените заполнители в pod.yaml файле в папке azure-storage-identity .

    • Замените <YourContainerImage> именем образа, который мы создадим на последнем шаге, например <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest.
    • Замените <ServiceAccountCreatedByServiceConnector> учетную запись службы, созданную соединителем службы после создания подключения. Вы можете проверить имя учетной записи службы в портал Azure соединителя службы.
    • Замените <SecretCreatedByServiceConnector> секретом, созданным соединителем службы после создания подключения. Вы можете проверить имя секрета в портал Azure соединителя службы.
  2. Разверните pod в кластере с kubectl apply помощью команды. Установите kubectl локально с помощью команды az aks install-cli , если она не установлена. Команда создает pod с именем sc-demo-storage-identity в пространстве имен по умолчанию кластера AKS.

    kubectl apply -f pod.yaml
    
  3. Проверьте, успешно ли развертывание выполнено, просматривая модуль pod с kubectlпомощью .

    kubectl get pod/sc-demo-storage-identity.
    
  4. Проверка подключения устанавливается путем просмотра журналов с kubectlпомощью .

    kubectl logs pod/sc-demo-storage-identity
    

Очистка ресурсов

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

az group delete \
    --resource-group MyResourceGroup

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

Ознакомьтесь со следующими статьями, чтобы узнать больше о концепциях соединителя служб и о том, как это помогает AKS подключаться к службам.