Прочитать на английском

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


Подключить кластер Azure Kubernetes Services к Azure Arc

Область применения: AKS на Windows Server

Когда кластер Служба Azure Kubernetes (AKS) подключен к Azure Arc, он получает представление Azure Resource Manager. Кластеры подключаются к стандартным подпискам Azure, находятся в группах ресурсов, и им можно назначать теги, как и любым другим ресурсам Azure. Кроме того, представление Kubernetes позволяет расширить следующие возможности в кластере Kubernetes:

  • Службы управления: конфигурации (GitOps), Azure Monitor для контейнеров, Политика Azure (Gatekeeper).
  • Службы данных: Управляемый экземпляр SQL, PostgreSQL Hyperscale.
  • Службы приложений: Служба приложений, Функции, Сетка событий, Logic Apps, Управление API.

Чтобы подключить кластер Kubernetes к Azure, администратор кластера должен развернуть агенты. Эти агенты выполняются в пространстве имен Kubernetes, называемом azure-arc, и обычно развертываются стандартным образом для Kubernetes. Агенты отвечают за подключение к Azure, сбор журналов и метрик Azure Arc и включение описанных выше сценариев в кластере.

AKS поддерживает стандартный протокол SSL для защиты передаваемых данных. Кроме того, для обеспечения конфиденциальности информация в базах данных Azure Cosmos DB хранится в зашифрованном виде.

Ниже описано, как подключить кластеры AKS к Azure Arc в AKS на Windows Server. Эти действия можно пропустить, если вы уже подключили кластер 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

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