Развертывание и администрирование ресурсов в Azure Stack Hub с помощью Azure CLI

Область применения: интегрированные системы Azure Stack Hub

Выполните действия, описанные в этой статье, чтобы настроить интерфейс Command-Line Azure (CLI) для управления ресурсами Azure Stack Hub на клиентских платформах Linux, Mac и Windows.

Подготовка к использованию Azure CLI

Конечная точка псевдонимов виртуальной машины предоставляет псевдоним, например UbuntuLTS или Win2012Datacenter. Этот псевдоним ссылается на издателя образа, предложение, номер SKU и версию в качестве одного параметра при развертывании виртуальных машин.

В следующем разделе описывается настройка конечной точки псевдонимов виртуальных машин.

Настройка конечной точки псевдонимов для виртуальных машин

Вы можете настроить общедоступную конечную точку с файлом псевдонимов виртуальных машин. В файле псевдонимов виртуальных машин хранится общее имя образа в JSON-формате. Имя будет использоваться при развертывании виртуальной машины в качестве параметра Azure CLI.

  1. Когда вы публикуете пользовательский образ, запишите сведения об издателе, предложении, номере SKU и версии, которые указываете во время публикации. Если это образ из Marketplace, сведения можно просмотреть с помощью командлета Get-AzureVMImage .

  2. Скачайте образец файла с сайта GitHub.

  3. Создайте учетную запись хранения в Azure Stack Hub. Затем создайте контейнер BLOB-объектов. Установите для политики доступа значение public.

  4. Отправьте JSON-файл в только что созданный контейнер. После этого просмотрите URL-адрес большого двоичного объекта. Выберите имя большого двоичного объекта, затем из панели свойств большого двоичного объекта — URL-адрес.

Установка или обновление CLI

Войдите на рабочую станцию разработки и установите CLI. Для работы с Azure Stack Hub требуется Azure CLI версии 2.0 или выше. Для последней версии профилей API требуется текущая версия CLI. См. сведения об установке Azure CLI.

Чтобы проверить успешность установки, откройте окно терминала или командной строки и выполните следующую команду:

az --version

Отобразятся номера версий Azure CLI и зависимых библиотек, установленных на этом компьютере.

Использование Azure CLI в расположении Python в Azure Stack Hub

Windows/Linux (идентификатор Microsoft Entra)

В этом разделе описывается настройка ИНТЕРФЕЙСА командной строки, если вы используете идентификатор Microsoft Entra в качестве службы управления удостоверениями и используете CLI на компьютере Под управлением Windows или Linux.

Подключение к Azure Stack Hub

  1. Зарегистрируйте среду Azure Stack Hub, выполнив команду az cloud register.

  2. Зарегистрируйте среду. При выполнении команды az cloud register используйте следующие параметры:

    Значение Пример Описание
    Имя среды AzureStackUser Используется AzureStackUser для пользовательской среды. Если вы оператор, укажите AzureStackAdmin.
    Конечная точка Resource Manager https://management.local.azurestack.external ResourceManagerUrl в интегрированных системах: https://management.<region>.<fqdn>/ если у вас есть вопросы о конечной точке интегрированной системы, обратитесь к оператору облака.
    конечную точку службы хранилища; local.azurestack.external Для интегрированной системы используйте конечную точку для системы.
    Суффикс хранилища ключей .vault.local.azurestack.external Для интегрированной системы используйте конечную точку для системы.
    Конечная точка документа с псевдонимами образов виртуальной машины https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json URI документа, который содержит псевдонимы образов виртуальной машины. См. сведения о настройке конечной точки псевдонимов виртуальных машин.
    az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>
    
  3. Следующие команды позволяют выбрать активную среду:

    az cloud set -n <environmentname>
    
  4. Укажите в конфигурации среды версию API, специально предназначенную для Azure Stack Hub. Чтобы изменить эту конфигурацию, выполните следующую команду:

    az cloud update --profile 2019-03-01-hybrid
    
  5. Войдите в среду Azure Stack Hub с помощью команды az login. Войдите в среду Azure Stack Hub от имени пользователя или субъекта-службы.

    • Войдите от имени пользователя:

      Вы можете указать имя пользователя и пароль непосредственно в команде az login или выполнить аутентификацию в браузере. Если для вашей учетной записи включена многофакторная аутентификация, возможным будет только второй вариант.

      az login -u <Active directory global administrator or user account. For example: username@<aadtenant>.onmicrosoft.com> --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com>
      

      Примечание

      Если в учетной записи пользователя используется многофакторная проверка подлинности, выполните команду az login без параметра -u. При отсутствии этого параметра команда возвращает URL-адрес и код, которые следует использовать для аутентификации.

    • Войдите в систему как субъект-служба.

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

      az login --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com> --service-principal -u <Application Id of the Service Principal> -p <Key generated for the Service Principal>
      

Проверка подключения

Завершив настройку, вы можете приступить к созданию ресурсов в Azure Stack Hub с помощью CLI. Например, можно создать группу ресурсов для приложения и добавить виртуальную машину. Используйте команду ниже, чтобы создать группу ресурсов с именем MyResourceGroup.

az group create -n MyResourceGroup -l local

Если группа ресурсов будет успешно создана, команда выше возвратит следующие свойства созданного ресурса:

Выходные данные создания группы ресурсов

Windows/Linux (AD FS)

В этом разделе описывается настройка ИНТЕРФЕЙСА командной строки, если вы используете федеративные службы Active Directory (AD FS) в качестве службы управления удостоверениями и используете CLI на компьютере с Windows или Linux.

Подключение к Azure Stack Hub

  1. Зарегистрируйте среду Azure Stack Hub, выполнив команду az cloud register.

  2. Зарегистрируйте среду. При выполнении команды az cloud register используйте следующие параметры:

    Значение Пример Описание
    Имя среды AzureStackUser Используется AzureStackUser для пользовательской среды. Если вы оператор, укажите AzureStackAdmin.
    Конечная точка Resource Manager https://management.local.azurestack.external ResourceManagerUrl в интегрированных системах: https://management.<region>.<fqdn>/ если у вас есть вопросы о конечной точке интегрированной системы, обратитесь к оператору облака.
    конечную точку службы хранилища; local.azurestack.external Для интегрированной системы используйте конечную точку для системы.
    Суффикс хранилища ключей .vault.local.azurestack.external Для интегрированной системы используйте конечную точку для системы.
    Конечная точка документа с псевдонимами образов виртуальной машины https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json URI документа, который содержит псевдонимы образов виртуальной машины. См. сведения о настройке конечной точки псевдонимов виртуальных машин.
    az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>
    
  3. Следующие команды позволяют выбрать активную среду:

    az cloud set -n <environmentname>
    
  4. Укажите в конфигурации среды версию API, специально предназначенную для Azure Stack Hub. Чтобы изменить эту конфигурацию, выполните следующую команду:

    az cloud update --profile 2019-03-01-hybrid
    
  5. Войдите в среду Azure Stack Hub с помощью команды az login. Вы можете войти в среду Azure Stack Hub от имени пользователя или субъекта-службы.

    • Войдите от имени пользователя:

      Вы можете указать имя пользователя и пароль непосредственно в команде az login или выполнить аутентификацию в браузере. Если для вашей учетной записи включена многофакторная аутентификация, возможным будет только второй вариант.

      az cloud register  -n <environmentname>   --endpoint-resource-manager "https://management.local.azurestack.external"  --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>   --profile "2019-03-01-hybrid"
      

      Примечание

      Если в учетной записи пользователя используется многофакторная проверка подлинности, выполните команду az login без параметра -u. При отсутствии этого параметра команда возвращает URL-адрес и код, которые следует использовать для аутентификации.

    • Войдите в систему как субъект-служба.

      Подготовьте PEM-файл для использования для входа субъект-службы.

      На клиентском компьютере, где был создан субъект, экспортируйте сертификат субъект-службы как PFX-файл с закрытым ключом, расположенным здесь: cert:\CurrentUser\My. Имя этого сертификата совпадает с именем субъекта.

      Преобразуйте PFX в PEM (используйте служебную программу OpenSSL).

      Вход в интерфейс командной строки:

      az login --service-principal \
      -u <Client ID from the Service Principal details> \
      -p <Certificate's fully qualified name, such as, C:\certs\spn.pem>
      --tenant <Tenant ID> \
      --debug 
      

Проверка подключения

Завершив настройку, вы можете приступить к созданию ресурсов в Azure Stack Hub с помощью CLI. Например, можно создать группу ресурсов для приложения и добавить виртуальную машину. Используйте команду ниже, чтобы создать группу ресурсов с именем MyResourceGroup.

az group create -n MyResourceGroup -l local

Если группа ресурсов будет успешно создана, команда выше возвратит следующие свойства созданного ресурса:

Выходные данные создания группы ресурсов

Известные проблемы

Для интерфейса командной строки в Azure Stack Hub известны следующие проблемы.

  • Интерактивный режим CLI. Например, команда az interactive пока не поддерживается в Azure Stack Hub.
  • Чтобы получить список образов виртуальных машин, доступных в Azure Stack Hub, используйте команду az vm image list --all вместо az vm image list. Указание параметра --all гарантирует, что ответ возвращает только образы, доступные в среде Azure Stack Hub.
  • Azure Stack Hub может не поддерживать псевдонимы образов виртуальных машин, доступные в Azure. При использовании образов виртуальных машин вместо псевдонима образа необходимо указать полное имя URN (Canonical:UbuntuServer:14.04.3-LTS:1.0.0). Этот URN должен соответствовать спецификации образа, полученной из команды az vm images list.

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