Развертывание и администрирование ресурсов в 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.
Когда вы публикуете пользовательский образ, запишите сведения об издателе, предложении, номере SKU и версии, которые указываете во время публикации. Если это образ из Marketplace, сведения можно просмотреть с помощью командлета
Get-AzureVMImage
.Скачайте образец файла с сайта GitHub.
Создайте учетную запись хранения в Azure Stack Hub. Затем создайте контейнер BLOB-объектов. Установите для политики доступа значение public.
Отправьте JSON-файл в только что созданный контейнер. После этого просмотрите URL-адрес большого двоичного объекта. Выберите имя большого двоичного объекта, затем из панели свойств большого двоичного объекта — URL-адрес.
Установка или обновление CLI
Войдите на рабочую станцию разработки и установите CLI. Для работы с Azure Stack Hub требуется Azure CLI версии 2.0 или выше. Для последней версии профилей API требуется текущая версия CLI. См. сведения об установке Azure CLI.
Чтобы проверить успешность установки, откройте окно терминала или командной строки и выполните следующую команду:
az --version
Отобразятся номера версий Azure CLI и зависимых библиотек, установленных на этом компьютере.
Windows/Linux (идентификатор Microsoft Entra)
В этом разделе описывается настройка ИНТЕРФЕЙСА командной строки, если вы используете идентификатор Microsoft Entra в качестве службы управления удостоверениями и используете CLI на компьютере Под управлением Windows или Linux.
Подключение к Azure Stack Hub
Зарегистрируйте среду Azure Stack Hub, выполнив команду
az cloud register
.Зарегистрируйте среду. При выполнении команды
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>
Следующие команды позволяют выбрать активную среду:
az cloud set -n <environmentname>
Укажите в конфигурации среды версию API, специально предназначенную для Azure Stack Hub. Чтобы изменить эту конфигурацию, выполните следующую команду:
az cloud update --profile 2019-03-01-hybrid
Войдите в среду Azure Stack Hub с помощью команды
az login
. Войдите в среду Azure Stack Hub от имени пользователя или субъекта-службы.Войдите от имени пользователя:
Вы можете указать имя пользователя и пароль непосредственно в команде
az login
или выполнить аутентификацию в браузере. Если для вашей учетной записи включена многофакторная аутентификация, возможным будет только второй вариант.az login -u <Microsoft Entra 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
Зарегистрируйте среду Azure Stack Hub, выполнив команду
az cloud register
.Зарегистрируйте среду. При выполнении команды
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>
Следующие команды позволяют выбрать активную среду:
az cloud set -n <environmentname>
Укажите в конфигурации среды версию API, специально предназначенную для Azure Stack Hub. Чтобы изменить эту конфигурацию, выполните следующую команду:
az cloud update --profile 2019-03-01-hybrid
Войдите в среду 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
.