A Docker használata az Azure Stack Hubhoz készült PowerShell futtatásához

Figyelemfelhívás

Ez a cikk a CentOS linuxos disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

Ebben a cikkben a Docker használatával létrehozhat egy tárolót, amelyen a PowerShell különböző felületekkel való használatához szükséges verzióját futtathatja. Az AzureRM-modulok és a legújabb Az-modulok használatára vonatkozó utasításokat is megtalálja. Az AzureRM használatához Windows-alapú tárolóra van szükség. Az Az Linux-alapú tárolót használ.

Docker-előfeltételek

A Docker telepítése

  1. Telepítse a Dockert.

  2. Egy parancssori programban, például a PowerShellben vagy a Bashben adja meg a következőt:

    docker --version
    

Szolgáltatásnév beállítása a PowerShell használatához

Ahhoz, hogy a PowerShell használatával hozzáférjen az Azure Stack Hub erőforrásaihoz, szüksége lesz egy szolgáltatásnévre a Microsoft Entra-bérlőben. Engedélyeket delegálhat a felhasználói szerepköralapú hozzáférés-vezérléssel (RBAC). Előfordulhat, hogy le kell kérnie a szolgáltatásnevet a felhőszolgáltatótól.

  1. A szolgáltatásnév beállításához kövesse az Alkalmazások hozzáférésének biztosítása az Azure Stack Hub-erőforrásokhoz szolgáltatásnevek létrehozásával című témakör utasításait.

  2. Jegyezze fel az alkalmazásazonosítót, a titkos kulcsot, a bérlőazonosítót és az objektumazonosítót későbbi használatra.

A PowerShell futtatása a Dockerben

Ezekben az utasításokban egy Linux-alapú tárolórendszerképet fog futtatni, amely tartalmazza a PowerShellt és az Azure Stack Hubhoz szükséges modulokat.

  1. A Dockert Linux-tárolóval kell futtatnia. A Docker futtatásakor váltson Linux-tárolókra.

  2. Futtassa a Dockert egy olyan gépről, amely ugyanahhoz a tartományhoz csatlakozik, mint az Azure Stack Hub. Ha az Azure Stack Development Kitet (ASDK) használja, telepítenie kell a VPN-t a távoli gépen.

Az Azure Stack Hub Az modul telepítése Linux-tárolóra

  1. Futtassa a következő Docker-parancsot a parancssorból a PowerShell Ubuntu-tárolóban való futtatásához:

    docker run -it mcr.microsoft.com/azurestack/powershell
    

    Futtathatja az Ubuntu, Debian vagy Centos rendszert. A következő Docker-fájlokat megtalálhatja a GitHub-adattárban, az azurestack-powershellben. A Docker-fájlok legutóbbi módosításait a GitHub-adattárban találja. Minden operációs rendszer meg van címkézve. Cserélje le a kettőspont utáni címkét a kívánt operációs rendszer címkéjére.

    Linux Docker-rendszerkép
    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
  2. A rendszerhéj készen áll a parancsmagok számára. A rendszerhéj-kapcsolat teszteléséhez jelentkezzen be, majd futtassa a parancsot Test-AzureStack.ps1.

    Először hozza létre a szolgáltatásnév hitelesítő adatait. Szüksége lesz a titkos kódra és az alkalmazásazonosítóra. A tároló ellenőrzéséhez az objektumazonosítóra is szüksége lesz a futtatáskor Test-AzureStack.ps1 . Előfordulhat, hogy szolgáltatásnevet kell kérnie a felhőszolgáltatótól.

    A szolgáltatásnév-objektum létrehozásához írja be a következő parancsmagokat:

    $passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force
    $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
    
  3. Csatlakozzon a környezetéhez a következő szkript futtatásával az Azure Stack Hub-példány következő értékeivel.

    Érték Leírás
    A környezet neve. Az Azure Stack Hub-környezet neve.
    Resource Manager végpont A Resource Manager URL-címe. Ha nem tudja, forduljon a felhőszolgáltatójához. A következőhöz hasonlóan fog kinézni: https://management.region.domain.com.
    Címtárbérlő azonosítója Az Azure Stack Hub-bérlői címtár azonosítója.
    Hitelesítő adat A szolgáltatásnevet tartalmazó objektum. Ebben az esetben $pscredential.
    ./Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
    

    A PowerShell visszaadja a fiókobjektumot.

  4. Tesztelje a környezetet a Test-AzureStack.ps1 szkript tárolóban való futtatásával. Adja meg a szolgáltatásnév objektumazonosítóját. Ha nem jelöli meg az objektumazonosítót, a szkript továbbra is fut, de csak teszteli a bérlői (felhasználói) modulokat, és rendszergazdai jogosultságokat igénylő modulokon hiúsul meg.

    ./Test-AzureStack.ps1 <Object ID>
    

Következő lépések