Подключение кластера Служба Azure Kubernetes к Azure Arc
Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server
Когда кластер Служба Azure Kubernetes (AKS) подключен к Azure Arc, он получает представление Azure Resource Manager. Кластеры подключаются к стандартным подпискам Azure, находятся в группах ресурсов, и им можно назначать теги, как и любым другим ресурсам Azure. Кроме того, представление Kubernetes позволяет расширить следующие возможности в кластере Kubernetes:
- Службы управления: конфигурации (GitOps), Azure Monitor для контейнеров, Политика Azure (Gatekeeper).
- Службы данных: Управляемый экземпляр SQL, гипермасштабирование PostgreSQL.
- Службы приложений: Служба приложений, Функции, Сетка событий, Logic Apps, Управление API.
Чтобы подключить кластер Kubernetes к Azure, администратор кластера должен развернуть агенты. Эти агенты выполняются в пространстве имен Kubernetes с именем azure-arc и являются стандартными развертываниями Kubernetes. Агенты отвечают за подключение к Azure, сбор журналов и метрик Azure Arc и включение описанных выше сценариев в кластере.
AKS поддерживает стандартный протокол SSL для защиты передаваемых данных. Кроме того, для обеспечения конфиденциальности информация в базах данных Azure Cosmos DB хранится в зашифрованном виде.
Ниже описано, как подключить кластеры AKS к Azure Arc в AKS, включенном Arc. Эти действия можно пропустить, если вы уже подключили кластер Kubernetes к Azure Arc с помощью Windows Admin Center.
Подготовка к работе
Убедитесь, что у вас есть следующие требования:
- Кластер AKS с по крайней мере одним рабочим узлом Linux, работающим и работающим.
- Установите модуль PowerShell AksHci.
- Следующий уровень доступа в подписке Azure:
- Учетная запись пользователя со встроенной ролью владельца . Вы можете проверить уровень доступа, перейдя к подписке, выбрав "Управление доступом (IAM)" в левой части портал Azure, а затем щелкните "Просмотреть мой доступ".
- Субъект-служба со встроенной ролью владельца .
- Выполните команды, приведенные в этой статье, в административном окне PowerShell.
- Убедитесь, что выполнены требования к сети AKS.
Шаг 1. Вход в Azure
Чтобы войти в Azure, выполните команду Connect-AzAccount PowerShell:
Connect-AzAccount $tenantId
Если вы хотите переключиться на другую подписку, выполните команду Set-AzContext PowerShell:
Set-AzContext -Subscription $subscriptionId
Шаг 2. Регистрация двух поставщиков для AKS
Этот шаг можно пропустить, если вы уже зарегистрировали двух поставщиков для AKS в подписке. Регистрация — это асинхронный процесс, который должен выполняться один раз для каждой подписки. Регистрация может занять примерно 10 минут:
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Вы можете проверить, зарегистрирован ли вы в следующих командах:
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Шаг 3. Подключение к Azure Arc с помощью модуля Aks-Hci PowerShell
Подключите кластер AKS к Kubernetes с помощью команды Enable-AksHciArcConnection PowerShell. На этом шаге агенты Azure Arc для Kubernetes развертываются в azure-arc
пространстве имен:
Enable-AksHciArcConnection -name $clusterName
Подключение кластера AKS к Azure Arc с помощью субъекта-службы
Если у вас нет доступа к подписке, в которой вы являетесь владельцем, вы можете подключить кластер AKS к Azure Arc с помощью субъекта-службы.
Первая командная строка для учетных данных субъекта-службы и сохраняет их в переменной $Credential
. При появлении запроса введите идентификатор приложения для имени пользователя и используйте секрет субъекта-службы в качестве пароля. Убедитесь, что вы получаете эти значения от администратора подписки. Вторая команда подключает кластер к Azure Arc с помощью учетных данных субъекта-службы, хранящихся в переменной $Credential
:
$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location
Убедитесь, что субъект-служба, используемый в этой команде, назначена ей роль владельца и имеет область действия по идентификатору подписки, используемому в команде. Дополнительные сведения о субъектах-службах см. в статье "Создание субъекта-службы" с помощью Azure PowerShell.
Подключение кластера AKS к Azure Arc и включение пользовательских расположений
Если вы хотите включить пользовательские расположения в кластере вместе с Azure Arc, выполните следующую команду, чтобы получить идентификатор объекта приложения пользовательского расположения, а затем подключиться к Azure Arc с помощью субъекта-службы:
$objectID = (Get-AzADServicePrincipal -ApplicationId "00001111-aaaa-2222-bbbb-3333cccc4444").Id
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location -customLocationsOid $objectID
Проверка подключенного кластера
Вы можете просмотреть ресурс кластера Kubernetes в портал Azure. После открытия портала в браузере перейдите в группу ресурсов и ресурс AKS, основанный на входных данных имени ресурса и группы ресурсов, используемых в команде PowerShell enable-akshciarcconnection .
Примечание.
После подключения кластера может потребоваться не более пяти–десяти минут для метаданных кластера (версия кластера, версия агента, количество узлов), чтобы открыть страницу обзора ресурса AKS в портал Azure.
Агенты Azure Arc для Kubernetes
AKS развертывает несколько операторов в azure-arc
пространстве имен. Эти развертывания и модули pod можно просмотреть, kubectl
как показано в следующем примере:
kubectl -n azure-arc get deployments,pods
AKS состоит из нескольких агентов (операторов), которые выполняются в кластере, развернутом azure-arc
в пространстве имен. Дополнительные сведения об этих агентах см. в этом обзоре.
Отключение кластера AKS от Azure Arc
Если вы хотите отключить кластер от AKS, выполните команду Disable-AksHciArcConnection PowerShell. Перед выполнением команды выполните вход в Azure:
Disable-AksHciArcConnection -Name $clusterName