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