Руководство. Подключение к учетной записи хранения Azure в Служба Azure Kubernetes (AKS) с помощью соединителя службы с помощью удостоверения рабочей нагрузки
Узнайте, как создать pod в кластере AKS, который взаимодействует с учетной записью хранения Azure с помощью удостоверения рабочей нагрузки с помощью соединителя службы. В этом руководстве выполняются следующие задачи:
- Создайте кластер AKS и учетную запись хранения Azure.
- Создайте подключение между кластером AKS и учетной записью хранения Azure с помощью соединителя службы.
- Клонируйте пример приложения, которое будет взаимодействовать с учетной записью хранения Azure из кластера AKS.
- Разверните приложение в модуле pod в кластере AKS и проверьте подключение.
- Очистите ресурсы.
Внимание
Подключение к службе в AKS в настоящее время находится в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Установите Azure CLI и войдите в Azure CLI с помощью команды az login .
- Установите Dockerи kubectl, чтобы управлять образом контейнера и ресурсами Kubernetes.
- Базовое представление о контейнере и AKS. Начало работы с подготовкой приложения для AKS.
- Базовое понимание удостоверения рабочей нагрузки.
Создание ресурсов Azure
Создайте группу ресурсов для этого руководства.
az group create \ --name MyResourceGroup \ --location eastus
Создайте кластер AKS со следующей командой или ознакомьтесь с руководством. Мы создадим подключение службы, определение pod и развертывание примера приложения в этом кластере.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Подключитесь к кластеру с помощью следующей команды.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Создайте учетную запись хранения Azure с помощью следующей команды или ознакомьтесь с руководством. Это целевая служба, подключенная к кластеру AKS, и пример приложения взаимодействует с ним.
az storage account create \ --resource-group MyResourceGroup \ --name MyStorageAccount \ --location eastus \ --sku Standard_LRS
Создайте реестр контейнеров 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
Создайте управляемое удостоверение, назначаемое пользователем, с помощью следующей команды или ознакомьтесь с руководством. Управляемое удостоверение, назначаемое пользователем, используется в создании подключения службы для включения удостоверения рабочей нагрузки для рабочих нагрузок AKS.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Создание подключения к службе с помощью соединителя службы (предварительная версия)
Создайте подключение службы между кластером AKS и учетной записью хранения Azure с помощью портал Azure или Azure CLI.
Откройте службу Kubernetes в портал Azure и выберите соединитель службы в меню слева.
Выберите "Создать " и заполните параметры, как показано ниже. Оставьте другие параметры значениями по умолчанию.
Вкладка Основные сведения:
Параметр Выбранный вариант Description Пространство имен Kubernetes default Пространство имен, в котором требуется подключение в кластере. тип услуги; Хранилище — BLOB-объект Тип целевой службы. Имя подключения storage_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения. Подписка <MySubscription>
Подписка для целевой службы Хранилище BLOB-объектов Azure. Учетная запись хранения <MyStorageAccount>
Целевая учетная запись хранения, к которой необходимо подключиться. Тип клиента Python Язык кода или платформа, используемая для подключения к целевой службе. Вкладка проверки подлинности:
Параметр проверки подлинности Выбранный вариант Description Тип проверки подлинности Удостоверение рабочей нагрузки Тип проверки подлинности соединителя службы. Управляемая единица, назначаемая пользователем <MyIdentity>
Управляемое удостоверение, назначаемое пользователем, необходимо для включения удостоверения рабочей нагрузки. После создания подключения на странице соединителя служб отображаются сведения о новом подключении.
Клонирование примера приложения
Клонируйте репозиторий примера.
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Перейдите в пример папки репозитория для хранилища Azure:
cd serviceconnector-aks-samples/azure-storage-workload-identity
Сборка и отправка образа контейнера
Создайте и отправьте образы в реестр контейнеров с помощью команды Azure CLI
az acr build
.az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
Просмотрите образы в реестре
az acr repository list
контейнеров с помощью команды.az acr repository list --name <MyRegistry> --output table
Запуск приложения и проверка подключения
Замените заполнители в
pod.yaml
файле в папкеazure-storage-identity
.- Замените
<YourContainerImage>
именем образа, который мы создадим на последнем шаге, например<MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
. - Замените
<ServiceAccountCreatedByServiceConnector>
учетную запись службы, созданную соединителем службы после создания подключения. Вы можете проверить имя учетной записи службы в портал Azure соединителя службы. - Замените
<SecretCreatedByServiceConnector>
секретом, созданным соединителем службы после создания подключения. Вы можете проверить имя секрета в портал Azure соединителя службы.
- Замените
Разверните pod в кластере с
kubectl apply
помощью команды. Установитеkubectl
локально с помощью команды az aks install-cli , если она не установлена. Команда создает pod с именемsc-demo-storage-identity
в пространстве имен по умолчанию кластера AKS.kubectl apply -f pod.yaml
Проверьте, успешно ли развертывание выполнено, просматривая модуль pod с
kubectl
помощью .kubectl get pod/sc-demo-storage-identity.
Проверка подключения устанавливается путем просмотра журналов с
kubectl
помощью .kubectl logs pod/sc-demo-storage-identity
Очистка ресурсов
Если вам не нужно повторно использовать ресурсы, созданные в этом руководстве, удалите все ресурсы, созданные путем удаления группы ресурсов.
az group delete \
--resource-group MyResourceGroup
Следующие шаги
Ознакомьтесь со следующими статьями, чтобы узнать больше о концепциях соединителя служб и о том, как это помогает AKS подключаться к службам.