Utilizar o Docker para executar o PowerShell para o Azure Stack Hub
Atenção
Este artigo faz referência ao CentOS, uma distribuição do Linux que se aproxima do estado End Of Life (EOL). Considere a sua utilização e o seu plano em conformidade. Para obter mais informações, veja a documentação de orientação Sobre o Fim de Vida do CentOS.
Neste artigo, pode utilizar o Docker para criar um contentor no qual pode executar a versão do PowerShell necessária para trabalhar com as várias interfaces. Pode encontrar instruções para utilizar os módulos do AzureRM e os módulos mais recentes do Az. O AzureRM requer um contentor baseado no Windows. O Az utiliza um contentor baseado em Linux.
Pré-requisitos do Docker
Instalar o Docker
Instale o Docker.
Num programa de linha de comandos, como o PowerShell ou o Bash, introduza:
docker --version
Configurar um principal de serviço para utilizar o PowerShell
Para utilizar o PowerShell para aceder a recursos no Azure Stack Hub, precisa de um principal de serviço no seu inquilino Microsoft Entra. Delega permissões com o controlo de acesso baseado em funções do utilizador (RBAC). Poderá ter de pedir o principal de serviço ao operador da cloud.
Para configurar o principal de serviço, siga as instruções em Dar acesso às aplicações aos recursos do Azure Stack Hub através da criação de principais de serviço.
Repare no ID da aplicação, no segredo, no ID do inquilino e no ID do objeto para utilização posterior.
Executar o PowerShell no Docker
Nestas instruções, irá executar uma imagem de contentor baseada no Linux que contém o PowerShell e os módulos necessários para o Azure Stack Hub.
Tem de executar o Docker com o contentor linux. Quando executar o Docker, mude para contentores do Linux.
Execute o Docker a partir de um computador associado ao mesmo domínio que o Azure Stack Hub. Se estiver a utilizar o Azure Stack Development Kit (ASDK), tem de instalar a VPN no seu computador remoto.
Instalar o módulo Az do Azure Stack Hub num contentor do Linux
Na linha de comandos, execute o seguinte comando do Docker para executar o PowerShell num contentor do Ubuntu:
docker run -it mcr.microsoft.com/azurestack/powershell
Pode executar Ubuntu, Debian ou Centos. Pode encontrar os seguintes ficheiros do Docker no repositório do GitHub, azurestack-powershell. Veja o repositório do GitHub para obter as alterações mais recentes aos ficheiros do Docker. Cada SO está etiquetado. Substitua a etiqueta, a secção após os dois pontos, pela etiqueta para o SO pretendido.
Linux Imagem do 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
A shell está pronta para os cmdlets. Teste a conectividade da shell ao iniciar sessão e, em seguida, executar
Test-AzureStack.ps1
.Primeiro, crie as credenciais do principal de serviço. Precisará do segredo e do ID da aplicação. Também precisará do ID do objeto ao executar o para verificar o
Test-AzureStack.ps1
contentor. Poderá ter de pedir um principal de serviço ao operador da cloud.Escreva os seguintes cmdlets para criar um objeto de princípio de serviço:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Ligue-se ao seu ambiente ao executar o seguinte script com os seguintes valores da instância do Azure Stack Hub.
Valor Descrição O nome do ambiente. O nome do ambiente do Azure Stack Hub. Ponto Final do Resource Manager O URL do Resource Manager. Se não souber, contacte o operador da cloud. Terá um aspeto semelhante a https://management.region.domain.com
.ID do Inquilino do Diretório O ID do diretório de inquilinos do Azure Stack Hub. Credencial Um objeto que contém o principal de serviço. Neste caso $pscredential
, ../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
O PowerShell devolve o objeto da sua conta.
Teste o seu ambiente ao executar o
Test-AzureStack.ps1
script no contentor. Especifique o ID do objeto do principal de serviço. Se não indicar o ID do objeto, o script continuará a ser executado, mas apenas testará os módulos de inquilino (utilizador) e falhará nos módulos que necessitam de privilégios de administrador../Test-AzureStack.ps1 <Object ID>
Passos seguintes
- Leia uma descrição geral do PowerShell do Azure Stack Hub no Azure Stack Hub.
- Leia mais sobre os perfis de API do PowerShell no Azure Stack Hub.
- Instale o PowerShell do Azure Stack Hub.
- Leia sobre como criar modelos do Azure Resource Manager para consistência na cloud.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários