Поделиться через


Подключение кластера Служба 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

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