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


Дополнительная конфигурация и скрипты для 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

  1. Скачайте репозиторий GitHub Azure/AKS-Edge, если вы этого еще не сделали. Перейдите на вкладку "Код" и нажмите кнопку "Скачать ZIP" , чтобы скачать репозиторий в виде файла .zip . Извлеките файл .zip в локальную папку.

  2. Укажите сведения о подписке 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.

  3. Запустите или дважды щелкните файл AksEdgePrompt.cmd , чтобы открыть окно PowerShell с повышенными привилегиями с загруженными модулями. Отображается обзор сведений о компьютере и установленных версий программного обеспечения.

  4. Запустите скрипт 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
    
  5. Убедитесь, что учетные данные действительны, используя скрипт AksEdgeAzureSetup-Test.ps1 . Этот скрипт входит в Azure с помощью новых учетных данных субъекта-службы и проверяет состояние ресурсов Azure:

    # Test the credentials
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
    

Шаг 2. Подключение кластера к Azure

  1. Загрузите конфигурацию JSON в AksEdgeShell с помощью Read-AideUserConfig и убедитесь, что значения обновляются с помощью Get-AideUserConfig. Кроме того, можно повторно открыть AksEdgePrompt.cmd для использования обновленной конфигурации JSON:

    Read-AideUserConfig
    Get-AideUserConfig
    

    Внимание

    Каждый раз при изменении aide-userconfig.json, запуска Read-AideUserConfig для перезагрузки или закрытия и повторного открытия AksEdgePrompt.cmd.

  2. Запустите Initialize-AideArc. При этом устанавливается Azure CLI (если оно еще не установлено), войдите в Azure с указанными учетными данными и проверяет конфигурацию Azure (поставщики ресурсов и состояние группы ресурсов):

    Initialize-AideArc
    
  3. Выполните установку 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

  1. На левой панели выберите колонку "Пространства имен" в разделе ресурсы Kubernetes (предварительная версия):

    Снимок экрана: предварительная версия ресурсов Kubernetes.

  2. Чтобы просмотреть ресурсы Kubernetes, вам потребуется маркер носителя:

    Снимок экрана: обязательный маркер носителя.

  3. В окне PowerShell выполните командуGet-AksEdgeManagedServiceToken, скопируйте полную строку и вставьте ее в портал Azure:

    Снимок экрана: маркер вставки на портале.

  4. Теперь вы можете просматривать ресурсы в кластере. На следующем рисунке показана колонка "Рабочие нагрузки", показывающая следующее:kubectl get pods --all-namespaces

    Снимок экрана: результаты всех модулей pod, показанных в Arc.

Отключение кластера 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

  1. Вы можете подключить хост-компьютер с помощью Connect-AideArcServer серверов с поддержкой Arc:

    # Connect Arc-enabled server
    Connect-AideArcServer
    
  2. Чтобы отключить хост-компьютер от Arc, используйте Disconnect-AideArcServer для серверов с поддержкой Arc:

    # Disconnect Arc-enabled server
    Disconnect-AideArcServer
    

    Вы также можете удалить агент Arc для сервера, выполнив действия, описанные здесь. Для полной очистки с помощью портал Azure удалите субъект-службу и группу ресурсов, созданную для этого примера.

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