Создание пользовательских расположений в Kubernetes с поддержкой Azure Arc и управление ими
Функция пользовательских расположений позволяет настроить кластеры Kubernetes с поддержкой Azure Arc в качестве целевых расположений для развертывания экземпляров предложений Azure. Примеры предложений Azure, которые можно развернуть поверх настраиваемых расположений, включают базы данных, такие как Управляемый экземпляр SQL, включенные сервером PostgreSQL с поддержкой Azure Arc и Azure Arc, или экземпляры приложений, такие как Служба приложений, Функции, Сетка событий, Logic Apps и Управление API.
Настраиваемое расположение имеет сопоставление "один к одному" с пространством имен в кластере Kubernetes с поддержкой Azure Arc. Настраиваемый ресурс Azure в сочетании с управлением доступом на основе ролей Azure (Azure RBAC) можно использовать для предоставления подробных разрешений разработчикам приложений или администраторам баз данных, что позволяет им развертывать такие ресурсы, как базы данных или экземпляры приложений на основе кластеров Kubernetes с поддержкой Arc в мультитенантной среде.
В этой статье вы узнаете, как включить пользовательские расположения в кластере Kubernetes с поддержкой Arc и как создать пользовательское расположение.
Необходимые компоненты
Установите или обновите Azure CLI до последней версии.
Установите последние версии следующих расширений Azure CLI:
connectedk8s
k8s-extension
customlocation
az extension add --name connectedk8s az extension add --name k8s-extension az extension add --name customlocation
Если вы уже установили
connectedk8s
k8s-extension
расширения иcustomlocation
расширения, обновите до последней версии с помощью следующей команды:az extension update --name connectedk8s az extension update --name k8s-extension az extension update --name customlocation
Убедитесь в завершении регистрации поставщика для
Microsoft.ExtendedLocation
.Введите следующие команды:
az provider register --namespace Microsoft.ExtendedLocation
Отслеживайте ход процесса регистрации. Она может занять до 10 минут.
az provider show -n Microsoft.ExtendedLocation -o table
После регистрации состояние
RegistrationState
будет иметь значениеRegistered
.
Убедитесь, что у вас есть подключенный кластер Kubernetes с поддержкой Azure Arc и обновите агенты до последней версии. Убедитесь, что компьютер, на котором будут выполняться команды, описанные в этой статье, содержит файл, указывающий
kubeconfig
на этот кластер.
Включение настраиваемых расположений в кластере
Совет
Функция настраиваемых расположений зависит от функции подключение кластера. Обе функции должны быть включены в кластере, чтобы работали пользовательские расположения. Чтобы включить функцию пользовательских расположений, выполните следующие действия.
Если вы вошли в Azure CLI в качестве пользователя Microsoft Entra, используйте следующую команду:
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations
При выполнении приведенной выше команды при входе в Azure CLI с помощью субъекта-службы может возникнуть следующее предупреждение:
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
Это предупреждение возникает, так как субъект-служба не имеет необходимых разрешений для получения oid
(идентификатор объекта) пользовательского расположения, используемого службой Azure Arc. Чтобы избежать этой ошибки, выполните следующие действия.
Войдите в Azure CLI с помощью учетной записи пользователя.
Выполните следующую команду, чтобы получить
oid
(идентификатор объекта) пользовательского расположения, где--id
предопределено и задано значениеbc313c14-388c-4e7d-a58e-70017303ee3b
:Важно! Скопируйте и выполните команду точно так же, как показано ниже. Не заменяйте значение,
--id
переданное параметру, другим значением.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Войдите в Azure CLI с помощью субъекта-службы. Выполните следующую команду, чтобы включить функцию пользовательских расположений в кластере, используя
oid
значение (идентификатор объекта) на предыдущем шаге для--custom-locations-oid
параметра:az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <cl-oid> --features cluster-connect custom-locations
Создание настраиваемого расположения
Разверните расширение кластера службы Azure экземпляра службы Azure, который вы хотите установить в кластере:
Службы данных с поддержкой Azure Arc
Примечание.
Исходящий прокси без проверки подлинности и исходящего прокси-сервера с базовой проверкой подлинности поддерживается расширением кластера служб данных с поддержкой Azure Arc. Исходящий прокси-сервер, для которого требуются доверенные сертификаты, сейчас не поддерживается.
Получите идентификатор Azure Resource Manager кластера Kubernetes с поддержкой Azure Arc, который в последующих шагах упоминается как
connectedClusterId
:az connectedk8s show -n <clusterName> -g <resourceGroupName> --query id -o tsv
Получите идентификатор Azure Resource Manager расширения кластера, развернутого в кластере Kubernetes с поддержкой Azure Arc, на который ссылаются следующие действия
extensionId
:az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName> --query id -o tsv
Создайте пользовательское расположение, ссылаясь на кластер Kubernetes с поддержкой Azure Arc и расширение:
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
Ниже перечислены необходимые параметры:
Наименование параметра Description --name, --n
Имя настраиваемого расположения. --resource-group, --g
Группа ресурсов настраиваемого расположения. --namespace
Пространство имен в кластере, привязанное к созданному пользовательскому расположению. --host-resource-id
Идентификатор Azure Resource Manager кластера Kubernetes с поддержкой Azure Arc (подключенного кластера). --cluster-extension-ids
Идентификатор Azure Resource Manager экземпляра расширения кластера, установленного в подключенном кластере. Для нескольких расширений укажите разделенный пробелами список идентификаторов расширений кластера. Необязательные параметры
Наименование параметра Description --location, --l
Расположение настраиваемого расположения ресурса Azure Resource Manager в Azure. Если не указано, используется расположение подключенного кластера. --tags
Разделенный пробелами список тегов в формате key[=value]
. Используйте '' для очистки существующих тегов.--kubeconfig
Администратор kubeconfig
кластера.
Отображение сведений о пользовательском расположении
Чтобы отобразить сведения о пользовательском расположении, используйте следующую команду:
az customlocation show -n <customLocationName> -g <resourceGroupName>
Вывод списка настраиваемых расположений
Чтобы вывести список всех настраиваемых расположений в группе ресурсов, используйте следующую команду:
az customlocation list -g <resourceGroupName>
Обновление пользовательского расположения
update
Используйте команду, чтобы добавить новые значения для --tags
или связать новое --cluster-extension-ids
с пользовательским расположением, сохраняя существующие значения для тегов и связанных расширений кластера.
az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Исправление настраиваемого расположения
Используйте команду, чтобы заменить существующие patch
значения для --cluster-extension-ids
или --tags
. Предыдущие значения не сохраняются.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Удаление настраиваемого расположения
Чтобы удалить пользовательское расположение, используйте следующую команду:
az customlocation delete -n <customLocationName> -g <resourceGroupName>
Устранение неполадок
Если создание пользовательского расположения завершается ошибкой Unknown proxy error occurred
, измените политику сети, чтобы разрешить внутреннее взаимодействие pod-to-pod в azure-arc
пространстве имен. Не забудьте также добавить azure-arc
пространство имен в составе списка исключений без прокси-сервера для настроенной политики.
Следующие шаги
- Безопасное подключение к кластеру с помощью Cluster Connect.
- Продолжение работы с использованием Службы приложений Azure в Azure Arc для получения комплексных инструкций по установке расширений, созданию настраиваемых расположений и созданию среды службы приложений Kubernetes.
- Создание раздела сетки событий и подписки на события для сетки событий в Kubernetes.
- Дополнительные сведения о доступных в настоящее время расширениях Kubernetes с поддержкой Azure Arc.