Дополнительная конфигурация и скрипты для AKS Edge Essentials
В этой статье представлены альтернативные способы подключения к Azure Arc, которые могут применяться к кластерам, подключенным через прокси-сервер.
Подключение кластера AKS Edge Essentials к Arc с помощью прокси-сервера
Необходимые компоненты
- Подписка Azure с ролью владельца или сочетанием ролей участника и администратора доступа пользователей. Вы можете проверить уровень доступа, перейдя к подписке, выбрав управление доступом (IAM) в левой части портал Azure, а затем выберите "Просмотреть доступ". Дополнительные сведения об управлении группами ресурсов см. в документации по Azure Resource Manager.
- Включите всех обязательных поставщиков ресурсов в подписке Azure, таких как Microsoft.HybridCompute, Microsoft.GuestConfiguration, Microsoft.HybridConnectivity, Microsoft.KubernetesConfiguration и Microsoft.KubernetesConfiguration.
- Создайте и проверьте группу ресурсов для ресурсов AKS Edge Essentials Azure.
Примечание.
Необходимо иметь роль участника , чтобы иметь возможность удалять ресурсы в группе ресурсов. Команды, отключаемые от Arc, завершаются сбоем без назначения этой роли.
Шаг 1. Настройка кластера для подключения к Azure
Скачайте репозиторий GitHub Azure/AKS-Edge, если вы этого еще не сделали. Перейдите на вкладку "Код" и нажмите кнопку "Скачать ZIP" , чтобы скачать репозиторий в виде файла .zip . Извлеките файл .zip в локальную папку.
Укажите сведения о подписке Azure в файле aide-userconfig.json в
Azure
разделе, как описано в следующей таблице. Чтобы успешно подключиться к Azure с помощью Kubernetes с поддержкой Azure Arc, вам потребуется субъект-служба, предоставляющая доступ на основе ролей к ресурсам в Azure. Если у вас уже есть идентификатор субъекта-службы и пароль, можно обновить все поля в файле aide-userconfig.json . Если у вас нет субъекта-службы, вы можете указать имя, а сценарий на следующем шаге создает один и заполняетAuth
раздел для вас.Атрибут Тип значения Description Azure.ClusterName
строка Укажите имя кластера. По умолчанию hostname_cluster
используется имя.Azure.Location
строка Расположение группы ресурсов. Выберите расположение, ближайшее к развертыванию. Azure.SubscriptionName
строка Имя подписки. Azure.SubscriptionId
GUID Идентификатор подписки. В портал Azure выберите используемую подписку, а затем скопируйте и вставьте строку идентификатора подписки в JSON. Azure.TenantId
GUID Идентификатор клиента. В портал Azure выполните поиск "Azure Active Directory", который должен пройти на страницу каталога по умолчанию. Здесь можно скопировать и вставить строку идентификатора клиента в JSON-файл. Azure.ResourceGroupName
строка Имя группы ресурсов Azure для размещения ресурсов Azure для AKS Edge Essentials. Вы можете использовать существующую группу ресурсов или добавить новое имя, система создает ее для вас. Azure.ServicePrincipalName
строка Имя субъекта-службы Azure. Azure.Auth.ServicePrincipalId
GUID AppID субъекта-службы Azure для использования в качестве учетных данных. AKS Edge Essentials использует этот субъект-службу для подключения кластера к Arc. Вы можете использовать существующий субъект-службу или добавить новое имя, система создает ее для вас на следующем шаге. Azure.Auth.Password
строка Пароль (в виде ясного текста) для субъекта-службы Azure, используемого в качестве учетных данных. AksEdgeConfigFile
строка Имя файла конфигурации AKS Edge Essentials ( aksedge-config.json
). СкриптAksEdgeAzureSetup.ps1
обновляетArc
раздел этого JSON-файла с необходимыми сведениями.Примечание.
Эта процедура необходима только один раз для каждой подписки Azure и не требуется повторяться для каждого кластера Kubernetes.
Запустите или дважды щелкните файл AksEdgePrompt.cmd , чтобы открыть окно PowerShell с повышенными привилегиями с загруженными модулями. Отображается обзор сведений о компьютере и установленных версий программного обеспечения.
Запустите скрипт AksEdgeAzureSetup.ps1 в папке tools\scripts\AksEdgeAzureSetup. Этот скрипт предложит войти с учетными данными для настройки подписки Azure:
# prompts for interactive login for service principal creation with Contributor role at resource group level ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json -spContributorRole # (or) alternative option # Prompts for interactive login for service principal creation with minimal privileges ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json
Убедитесь, что учетные данные действительны, используя скрипт AksEdgeAzureSetup-Test.ps1 . Этот скрипт входит в Azure с помощью новых учетных данных субъекта-службы и проверяет состояние ресурсов Azure:
# Test the credentials ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
Шаг 2. Подключение кластера к Azure
Загрузите конфигурацию JSON в AksEdgeShell с помощью
Read-AideUserConfig
и убедитесь, что значения обновляются с помощьюGet-AideUserConfig
. Кроме того, можно повторно открыть AksEdgePrompt.cmd для использования обновленной конфигурации JSON:Read-AideUserConfig Get-AideUserConfig
Внимание
Каждый раз при изменении aide-userconfig.json, запуска
Read-AideUserConfig
для перезагрузки или закрытия и повторного открытия AksEdgePrompt.cmd.Запустите
Initialize-AideArc
. При этом устанавливается Azure CLI (если оно еще не установлено), войдите в Azure с указанными учетными данными и проверяет конфигурацию Azure (поставщики ресурсов и состояние группы ресурсов):Initialize-AideArc
Выполните установку
Connect-AideArc
и подключение хост-компьютера к серверу с поддержкой Arc и подключите существующий кластер к Kubernetes с поддержкой Arc:# Connect Arc-enabled server and Arc-enabled Kubernetes Connect-AideArc
Кроме того, их можно подключить отдельно с помощью
Connect-AideArcServer
серверов с поддержкой Arc, аConnect-AideArcKubernetes
также для Kubernetes с поддержкой Arc:# Connect Arc-enabled server Connect-AideArcServer # Connect Arc-enabled Kubernetes Connect-AideArcKubernetes
Примечание.
Этот шаг может занять до 10 минут, и PowerShell может застрять в приложении "Установка Подключенных к Azure Kubernetes для
your cluster name
". Команда PowerShell выводит иTrue
возвращает запрос после завершения процесса. Маркер носителя сохраняется в servicetoken.txt в папке инструментов .
Шаг 3. Просмотр кластера в Azure
На левой панели выберите колонку "Пространства имен" в разделе ресурсы Kubernetes (предварительная версия):
Чтобы просмотреть ресурсы Kubernetes, вам потребуется маркер носителя:
В окне PowerShell выполните команду
Get-AksEdgeManagedServiceToken
, скопируйте полную строку и вставьте ее в портал Azure:Теперь вы можете просматривать ресурсы в кластере. На следующем рисунке показана колонка "Рабочие нагрузки", показывающая следующее:
kubectl get pods --all-namespaces
Отключение кластера AKS Edge Essentials от Arc при использовании прокси-сервера
Запустите Disconnect-AideArc
, чтобы отключиться от сервера с поддержкой Arc и Kubernetes с поддержкой Arc:
# Disconnect Arc-enabled server and Arc-enabled Kubernetes
Disconnect-AideArc
Кроме того, их можно отключить отдельно с помощью Connect-AideArcServer
серверов с поддержкой Arc и Connect-AideArcKubernetes
Для Kubernetes с поддержкой Arc:
# Disconnect Arc-enabled server
Disconnect-AideArcServer
# Disconnect Arc-enabled Kubernetes
Disconnect-AideArcKubernetes
Подключение хост-компьютера к Arc
Вы можете подключить хост-компьютер с помощью
Connect-AideArcServer
серверов с поддержкой Arc:# Connect Arc-enabled server Connect-AideArcServer
Чтобы отключить хост-компьютер от Arc, используйте
Disconnect-AideArcServer
для серверов с поддержкой Arc:# Disconnect Arc-enabled server Disconnect-AideArcServer
Вы также можете удалить агент Arc для сервера, выполнив действия, описанные здесь. Для полной очистки с помощью портал Azure удалите субъект-службу и группу ресурсов, созданную для этого примера.