Utiliser Docker pour exécuter PowerShell pour Azure Stack Hub
Dans cet article, vous pouvez utiliser Docker pour créer un conteneur sur lequel exécuter la version de PowerShell nécessaire pour utiliser les différentes interfaces. Des instructions relatives à l’utilisation des modules AzureRM et des tout derniers modules Az sont disponibles. AzureRM nécessite un conteneur Windows. Az utilise un conteneur Linux.
Conditions préalables Docker
Installation de Docker
Installez Docker.
Dans un programme en ligne de commande, tel que PowerShell ou Bash, entrez :
docker --version
Configurer un principal de service pour l’utilisation de PowerShell
Pour utiliser PowerShell pour accéder aux ressources dans Azure Stack Hub, vous avez besoin d’un principal de service dans votre locataire Microsoft Entra. Vous déléguez des autorisations avec contrôle d’accès en fonction du rôle (RBAC) utilisateur. Vous devrez peut-être demander le principal de service à votre opérateur cloud.
Pour configurer votre principal de service, suivez les instructions dans Permettre à des applications d’accéder à des ressources Azure Stack Hub en créant des principaux de service.
Notez l’ID d’application, le secret, votre ID de locataire et l’ID d’objet pour les utiliser ultérieurement.
Exécuter PowerShell dans Docker
Dans ces instructions, vous allez exécuter une image de conteneur Linux qui contient PowerShell et les modules nécessaires pour Azure Stack Hub.
Vous devez exécuter Docker au moyen d’un conteneur Linux. Lors de l’exécution de Docker, basculez vers les conteneurs Linux.
Exécutez Docker depuis une machine jointe au même domaine qu’Azure Stack Hub. Si vous utilisez le Kit de développement Azure Stack (ASDK), installez le VPN sur votre ordinateur distant.
Installer le module Az d’Azure Stack Hub sur un conteneur Linux
À partir de votre ligne de commande, exécutez la commande Docker suivante pour exécuter PowerShell dans un conteneur Ubuntu :
docker run -it mcr.microsoft.com/azurestack/powershell
Vous pouvez exécuter Ubuntu ou Debian. Les fichiers Docker suivants sont disponibles dans le dépôt GitHub, azurestack-powershell. Consultez le dépôt GitHub pour obtenir les dernières modifications apportées aux fichiers Docker. Chaque système d’exploitation est marqué. Remplacez l’étiquette, la partie après les deux-points, par l’étiquette du système d’exploitation souhaité.
Linux Image Docker Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
L’interpréteur de commandes est prêt pour vos applets de commande. Testez la connectivité de l’interpréteur de commandes en vous connectant, puis en exécutant
Test-AzureStack.ps1
.Tout d’abord, créez les informations d’identification du principal de service. Vous aurez besoin du secret et de l’ID d’application. Vous aurez également besoin de l’ID d’objet lors de l’exécution de
Test-AzureStack.ps1
pour vérifier votre conteneur. Vous devrez peut-être demander un principal de service à votre opérateur cloud.Tapez les applets de commande suivantes pour créer un objet principal de service :
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Connectez-vous à votre environnement en exécutant le script ci-après avec les valeurs suivantes, depuis votre instance Azure Stack Hub.
Valeur Description Nom de l’environnement. Nom de votre environnement Azure Stack Hub. Point de terminaison Resource Manager URL pour Resource Manager. Contactez votre opérateur cloud si vous ne la connaissez pas. Elle ressemble à ceci : https://management.region.domain.com
ID d’annuaire du locataire ID de votre annuaire de locataire Azure Stack Hub. Informations d'identification Objet contenant votre principal de service. Dans ce cas, $pscredential
../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell retourne votre objet de compte.
Testez votre environnement en exécutant le script
Test-AzureStack.ps1
dans le conteneur. Spécifiez l’ID d’objet du principal de service. Si vous n’indiquez pas l’ID d’objet, le script s’exécutera malgré tout, mais il testera uniquement les modules (utilisateur) du locataire et échouera sur les modules qui nécessitent des privilèges d’administrateur../Test-AzureStack.ps1 <Object ID>
Étapes suivantes
- Consultez une vue d’ensemble d’Azure Stack Hub PowerShell dans Azure Stack Hub.
- Découvrez les Profils d’API pour PowerShell dans Azure Stack Hub.
- Installez Azure Stack Hub PowerShell.
- Découvrez comment créer des Modèles Azure Resource Manager pour la cohérence du cloud.