Azure Stack Hub için PowerShell'i çalıştırmak için Docker kullanma
Bu makalede, Çeşitli arabirimlerle çalışmak için gereken PowerShell sürümünün çalıştırıldığı bir kapsayıcı oluşturmak için Docker'ı kullanabilirsiniz. Hem AzureRM modüllerini hem de en son Az modüllerini kullanma yönergelerini bulabilirsiniz. AzureRM, Windows tabanlı bir kapsayıcı gerektirir. Az, Linux tabanlı bir kapsayıcı kullanır.
Docker ön koşulları
Docker'ı yükleme
Docker'ı yükleyin.
PowerShell veya Bash gibi bir komut satırı programına şunu girin:
docker --version
PowerShell kullanmak için hizmet sorumlusu ayarlama
PowerShell'i kullanarak Azure Stack Hub'daki kaynaklara erişmek için Microsoft Entra kiracınızda bir hizmet sorumlusuna ihtiyacınız vardır. Kullanıcı rol tabanlı erişim denetimi (RBAC) ile izinleri temsilci olarak verirsiniz. Bulut operatörünüzden hizmet sorumlusunu istemeniz gerekebilir.
Hizmet sorumlunuzu ayarlamak için Uygulamalara hizmet sorumluları oluşturarak Azure Stack Hub kaynaklarına erişim verme başlığındaki yönergeleri izleyin.
Daha sonra kullanmak üzere uygulama kimliğini, gizli diziyi, kiracı kimliğinizi ve nesne kimliğini not edin.
Docker'da PowerShell çalıştırma
Bu yönergelerde, PowerShell'i ve Azure Stack Hub için gerekli modülleri içeren Linux tabanlı bir kapsayıcı görüntüsü çalıştıracaksınız.
Linux kapsayıcısını kullanarak Docker'ı çalıştırmanız gerekir. Docker'ı çalıştırdığınızda Linux kapsayıcılarına geçin.
Docker'ı Azure Stack Hub ile aynı etki alanına katılmış bir makineden çalıştırın. Azure Stack Geliştirme Seti'ni (ASDK) kullanıyorsanız vpn'i uzak makinenize yükleyin.
Azure Stack Hub Az modülünü Linux kapsayıcıya yükleme
Komut satırınızdan aşağıdaki Docker komutunu çalıştırarak PowerShell'i bir Ubuntu kapsayıcısında çalıştırın:
docker run -it mcr.microsoft.com/azurestack/powershell
Ubuntu veya Debian çalıştırabilirsiniz. Aşağıdaki Docker dosyalarını GitHub deposunda bulabilirsiniz: azurestack-powershell. Docker dosyalarındaki en son değişiklikler için GitHub deposuna bakın. Her işletim sistemi etiketli. İki nokta üst üste işaretinden sonraki bölüm olan etiketini, istenen işletim sisteminin etiketiyle değiştirin.
Linux Docker görüntüsü Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
Kabuk cmdlet'leriniz için hazır. Oturum açıp komutunu çalıştırarak
Test-AzureStack.ps1
kabuk bağlantınızı test edin.İlk olarak hizmet sorumlusu kimlik bilgilerinizi oluşturun. Gizli diziye ve uygulama kimliğine ihtiyacınız olacaktır. Kapsayıcınızı denetlemek için öğesini çalıştırırken
Test-AzureStack.ps1
nesne kimliğine de ihtiyacınız olacaktır. Bulut operatörünüzden bir hizmet sorumlusu istemeniz gerekebilir.Hizmet ilkesi nesnesi oluşturmak için aşağıdaki cmdlet'leri yazın:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Azure Stack Hub örneğinizden aşağıdaki değerleri içeren aşağıdaki betiği çalıştırarak ortamınıza bağlanın.
Value Açıklama Ortamın adı. Azure Stack Hub ortamınızın adı. Resource Manager Uç Noktası Resource Manager URL'si. Bilmiyorsanız bulut operatörünüze başvurun. https://management.region.domain.com
gibi görünür.Dizin Kiracı Kimliği Azure Stack Hub kiracı dizininizin kimliği. Referans Hizmet sorumlunuzu içeren bir nesne. Bu durumda $pscredential
../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell, hesap nesnenizi döndürür.
Kapsayıcıda betiği çalıştırarak
Test-AzureStack.ps1
ortamınızı test edin. Hizmet sorumlusu nesne kimliğini belirtin. Nesne kimliğini belirtmezseniz, betik çalışmaya devam eder, ancak yalnızca kiracı (kullanıcı) modüllerini test eder ve yönetici ayrıcalıkları gerektiren modüllerde başarısız olur../Test-AzureStack.ps1 <Object ID>
Sonraki adımlar
- Azure Stack Hub'da Azure Stack Hub PowerShell'e genel bakış konusunu okuyun.
- Azure Stack Hub'da PowerShell için API profilleri hakkında bilgi edinin.
- Azure Stack Hub PowerShell'i yükleyin.
- Bulut tutarlılığı için Azure Resource Manager şablonları oluşturma hakkında bilgi edinin.