Подключение кластера Служба Azure Kubernetes к Azure Arc

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

Когда кластер Служба Azure Kubernetes (AKS) подключен к Azure Arc, он получает представление Resource Manager Azure. Кластеры подключаются к стандартным подпискам 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, выполните команду PowerShell Connect-AzAccount :

Connect-AzAccount $tenantId

Если вы хотите переключиться на другую подписку, выполните команду PowerShell Set-AzContext :

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 с помощью модуля PowerShell Aks-Hci

Подключите кластер AKS к Kubernetes с помощью команды PowerShell Enable-AksHciArcConnection . На этом шаге агенты 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

Убедитесь, что субъекту-службе, используемому в приведенной выше команде, назначена роль "Владелец" и что ему назначена область по идентификатору подписки, используемому в команде. Дополнительные сведения о субъектах-службах см. в статье Create субъекта-службы с помощью Azure PowerShell.

Подключение кластера AKS к Azure Arc и включение настраиваемых расположений

Если вы хотите включить пользовательские расположения в кластере вместе с Azure Arc, выполните следующую команду, чтобы получить идентификатор объекта приложения пользовательского расположения, а затем подключитесь к Azure Arc с помощью субъекта-службы:

$objectID = (Get-AzADServicePrincipal -ApplicationId "bc313c14-388c-4e7d-a58e-70017303ee3b").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, выполните команду PowerShell Disable-AksHciArcConnection . Перед выполнением команды убедитесь, что вы войдите в Azure:

Disable-AksHciArcConnection -Name $clusterName

Дальнейшие действия