Использование Docker для запуска PowerShell для Azure Stack Hub
Внимание!
В этой статье содержится ссылка на CentOS, дистрибутив Linux, который находится на грани окончания срока службы (EOL). Пожалуйста, рассмотрите использование и спланируйте соответствующим образом. Дополнительные сведения см. в руководстве по окончании жизненного циклов CentOS.
В этой статье вы можете использовать Docker для создания контейнера, в котором будет выполняться версия PowerShell, необходимая для работы с различными интерфейсами. Вы можете найти инструкции по использованию модулей AzureRM и последних модулей Az. Для AzureRM требуется контейнер на основе Windows. Az использует контейнер на основе Linux.
Предварительные требования Docker
Установка Docker
Установите Docker.
В программе командной строки, например PowerShell или Bash, введите:
docker --version
Создание субъекта-службы для использования PowerShell
Чтобы использовать PowerShell для доступа к ресурсам в Azure Stack Hub, вам потребуется субъект-служба в клиенте Microsoft Entra. Вы можете делегировать разрешения с помощью управления доступом на основе ролей пользователей. Может потребоваться запросить субъект-службу у оператора облака.
См. подробнее о предоставлении приложениям доступа к ресурсам Azure Stack Hub путем создания субъектов-служб.
Запишите идентификатор приложения, секрет, идентификатор клиента и идентификатор объекта для последующего использования.
Запуск PowerShell в Docker
В этих инструкциях вы запустите образ контейнера под управлением Linux, содержащий PowerShell и необходимые модули для Azure Stack Hub.
Необходимо запустить Docker с помощью контейнера Linux. При запуске Docker переключитесь на контейнеры Linux.
Запустите Docker с компьютера, присоединенного к тому же домену, что и Azure Stack Hub. Если вы используете Пакет средств разработки Azure Stack, установите VPN на удаленном компьютере.
Установка модуля Az Azure Stack Hub в контейнере Linux
В командной строке выполните следующую команду Docker, чтобы запустить PowerShell в контейнере Ubuntu:
docker run -it mcr.microsoft.com/azurestack/powershell
Вы можете запустить Ubuntu, Debian или Centos. Следующие файлы Docker можно найти в репозитории GitHub azurestack-powershell. Последние изменения в файлах Docker см. в репозитории GitHub. Каждая ОС помечена тегом. Замените тег (раздел после двоеточия) тегом для нужной ОС.
Linux Образ Docker Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
CentOS docker run -it mcr.microsoft.com/azurestack/powershell:centos-7
Оболочка готова для командлетов. Проверьте подключение оболочки, войдя в систему и запустив
Test-AzureStack.ps1
.Сначала создайте учетные данные субъекта-службы. Вам потребуются секрет и идентификатор приложения. Идентификатор объекта также потребуется при запуске
Test-AzureStack.ps1
для проверка контейнера. Может потребоваться запросить субъект-службу у оператора облака.Введите следующие командлеты, чтобы создать объект субъекта-службы:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Подключитесь к среде, выполнив следующий скрипт со следующими значениями из экземпляра Azure Stack Hub.
Значение Описание Имя среды. Имя среды Azure Stack Hub. Конечная точка Resource Manager URL-адрес Resource Manager. Если вы не знаете, обратитесь к оператору облака. Он должен иметь примерно следующий вид: https://management.region.domain.com
.Идентификатор клиента каталога Идентификатор каталога клиента Azure Stack Hub. Подтверждение компетенции Объект , содержащий субъект-службу. В данном случае $pscredential
../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell возвращает объект учетной записи.
Протестируйте среду,
Test-AzureStack.ps1
запустив скрипт в контейнере. Укажите идентификатор объекта субъекта-службы. Если не указать идентификатор объекта, скрипт по-прежнему будет выполняться, но он будет тестировать модули клиента (пользователя) и завершать сбой модулей, требующих прав администратора../Test-AzureStack.ps1 <Object ID>
Дальнейшие действия
- Ознакомьтесь с обзором в статье Начало работы с PowerShell в Azure Stack.
- См. подробнее об использовании профилей API для PowerShell в Azure Stack Hub.
- Установка PowerShell для Azure Stack Hub.
- Чтобы обеспечить согласованность данных в облаке, см. статью Рекомендации по использованию шаблона Azure Resource Manager.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по