Создание пользовательских расположений в Kubernetes с поддержкой Azure Arc и управление ими
Пользовательские расположения позволяют администраторам клиентов или кластеров настраивать кластеры Kubernetes с поддержкой Azure Arc в качестве целевых расположений для развертывания экземпляров предложений Azure. Примеры предложений Azure, которые можно развернуть поверх пользовательских расположений, включают такие базы данных, как Управляемый экземпляр SQL с поддержкой Azure Arc и гипермасштабирование PostgreSQL с поддержкой Azure Arc или экземпляры приложений, такие как службы приложений, Функции, Сетка событий, Logic Apps и управление API. Пользовательское расположение имеет сопоставление "один к одному" с пространством имен в кластере Kubernetes с поддержкой Azure Arc. Ресурс Azure настраиваемого расположения в сочетании с Azure RBAC можно использовать для предоставления разработчикам приложений или администраторам баз данных детализированных разрешений на развертывание различных ресурсов, таких как базы данных или экземпляры приложений на основе кластера Kubernetes с поддержкой Arc, в мультитенантном режиме.
Общие сведения об этой функции доступны в пользовательских расположениях — статья Kubernetes с поддержкой Azure Arc .
Вы узнаете, как выполнять следующие задачи:
- Включите пользовательские расположения в кластере Kubernetes с поддержкой Azure Arc.
- создание пользовательского расположения;
Предварительные требования
Установите или обновите Azure CLI до версии 2.16.0 или более поздней.
Установите следующие расширения Azure CLI:
connectedk8s(версия 1.2.0 или более поздняя)k8s-extension(версия 1.0.0 или более поздняя)customlocation(версия 0.1.3 или более поздняя)
az extension add --name connectedk8s az extension add --name k8s-extension az extension add --name customlocationЕсли вы уже установили
connectedk8sk8s-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.
- Обновите агенты до версии 1.5.3 или более поздней.
Включение настраиваемых расположений в кластере
Если вы вошли в Azure CLI в качестве пользователя Azure AD, чтобы включить эту функцию в кластере, выполните следующую команду:
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.
Это связано с тем, что у субъекта-службы нет разрешений на получение сведений о приложении, используемом службой Azure Arc. Чтобы избежать этой ошибки, выполните следующие действия:
Войдите в Azure CLI с помощью учетной записи пользователя. Получите идентификатор объекта для приложения AAD, используемого службой Azure Arc:
az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query objectId -o tsvВойдите в Azure CLI с помощью субъекта-службы. Примените полученное на предыдущем шаге значение
<objectId>для включения настраиваемых расположений в кластере:az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId> --features cluster-connect custom-locations
Примечание
- Функция Custom Locations зависит от функции Cluster Connect. Поэтому обе функции должны быть включены для работы настраиваемых расположений.
az connectedk8s enable-featuresнеобходимо запустить на компьютере, на котором находится файлkubeconfig, указывающий на кластер, на котором должны быть включены функции.
Создание настраиваемого расположения
Разверните расширение кластера службы 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 <extensionIds>
Обязательные параметры
| Имя параметра | Описание |
|---|---|
--name, --n |
Имя настраиваемого расположения |
--resource-group, --g |
Группа ресурсов настраиваемого расположения |
--namespace |
Пространство имен в кластере, привязанное к создаваемому настраиваемому расположению |
--host-resource-id |
Идентификатор Azure Resource Manager кластера Kubernetes с поддержкой Azure Arc (подключенный кластер) |
--cluster-extension-ids |
Идентификаторы Azure Resource Manager экземпляров расширений кластера, установленных в подключенном кластере. Укажите разделенный пробелами список идентификаторов расширений кластера. |
Необязательные параметры
| Имя параметра | Описание |
|---|---|
--location, --l |
Расположение настраиваемого расположения ресурса Azure Resource Manager в Azure. По умолчанию для него будет задано расположение подключенного кластера. |
--tags |
Разделенный пробелами список тегов: key[=value] [key[=value] ...]. Использование "" для очистки существующих тегов |
--kubeconfig |
Администратор kubeconfig кластера |
Отображение сведений о пользовательском расположении
Отображение сведений о пользовательском расположении
az customlocation show -n <customLocationName> -g <resourceGroupName>
Обязательные параметры
| Имя параметра | Описание |
|---|---|
--name, --n |
Имя настраиваемого расположения |
--resource-group, --g |
Группа ресурсов настраиваемого расположения |
Вывод списка настраиваемых расположений
Список всех настраиваемых расположений в группе ресурсов
az customlocation show -g <resourceGroupName>
Обязательные параметры
| Имя параметра | Описание |
|---|---|
--resource-group, --g |
Группа ресурсов настраиваемого расположения |
Обновление пользовательского расположения
Используйте update команду, если вы хотите добавить новые теги, свяжите новые идентификаторы расширений кластера с пользовательским расположением, сохраняя существующие теги и связанные расширения кластера. --cluster-extension-ids, --tagsassign-identity можно обновить.
az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Обязательные параметры
| Имя параметра | Описание |
|---|---|
--name, --n |
Имя настраиваемого расположения |
--resource-group, --g |
Группа ресурсов настраиваемого расположения |
--namespace |
Пространство имен в кластере, привязанное к создаваемому настраиваемому расположению |
--host-resource-id |
Идентификатор Azure Resource Manager кластера Kubernetes с поддержкой Azure Arc (подключенный кластер) |
Необязательные параметры
| Имя параметра | Описание |
|---|---|
--cluster-extension-ids |
Свяжите новые расширения кластера с этим пользовательским расположением, указав идентификаторы Экземпляров расширения кластера, установленных в подключенном кластере. Укажите разделенный пробелами список идентификаторов расширений кластера. |
--tags |
Добавьте новые теги в дополнение к существующим тегам. Разделенный пробелами список тегов: key[=value] [key[=value] ...]. |
Исправление настраиваемого расположения
Используйте patch команду, если требуется заменить существующие теги, идентификаторы расширений кластера новыми тегами, идентификаторами расширений кластера. --cluster-extension-ids, assign-identity--tags может быть исправлен.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Обязательные параметры
| Имя параметра | Описание |
|---|---|
--name, --n |
Имя настраиваемого расположения |
--resource-group, --g |
Группа ресурсов настраиваемого расположения |
Необязательные параметры
| Имя параметра | Описание |
|---|---|
--cluster-extension-ids |
Свяжите новые расширения кластера с этим пользовательским расположением, указав идентификаторы Экземпляров расширения кластера, установленных в подключенном кластере. Укажите разделенный пробелами список идентификаторов расширений кластера. |
--tags |
Добавьте новые теги в дополнение к существующим тегам. Разделенный пробелами список тегов: key[=value] [key[=value] ...]. |
Удаление пользовательского расположения
az customlocation delete -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Дальнейшие шаги
- Безопасное подключение к кластеру с помощью Cluster Connect.
- Продолжение работы с использованием Службы приложений Azure в Azure Arc для получения комплексных инструкций по установке расширений, созданию настраиваемых расположений и созданию среды службы приложений Kubernetes.
- Создайте раздел сетки событий и подписку на события для Службы "Сетка событий" в Kubernetes.
- Узнайте больше о доступных в настоящее время расширениях Kubernetes с поддержкой Azure Arc.