Menggunakan Docker untuk menjalankan PowerShell untuk Azure Stack Hub
Di artikel ini, Anda dapat menggunakan Docker untuk membuat kontainer untuk menjalankan versi PowerShell yang diperlukan dalam bekerja dengan menggunakan berbagai antarmuka. Anda dapat menemukan petunjuk dalam menggunakan modul AzureRM dan modul Az yang terbaru. AzureRM membutuhkan kontainer berbasis Windows. Az menggunakan kontainer berbasis Linux.
Prasyarat Docker
Menginstal Docker
Menginstal Docker.
Dalam program baris perintah seperti PowerShell atau Bash, masukkan:
docker --version
Menyiapkan perwakilan layanan untuk menggunakan PowerShell
Untuk menggunakan PowerShell untuk mengakses sumber daya di Azure Stack Hub, Anda memerlukan perwakilan layanan di penyewa Microsoft Entra Anda. Anda mendelegasikan izin dengan kontrol akses berbasis peran pengguna (RBAC). Anda mungkin perlu meminta perwakilan layanan dari operator cloud Anda.
Untuk menyiapkan perwakilan layanan Anda, ikuti petunjuk di Memberikan akses aplikasi ke sumber daya Azure Stack Hub dengan membuat perwakilan layanan.
Catat ID aplikasi, rahasia, ID penyewa Anda, dan ID objek untuk digunakan nanti.
Menjalankan PowerShell di Docker
Dalam instruksi ini, Anda akan menjalankan citra kontainer berbasis Linux yang berisi PowerShell dan modul yang diperlukan untuk Azure Stack Hub.
Anda perlu menjalankan Docker dengan menggunakan kontainer Linux. Saat Anda menjalankan Docker, beralihlah ke kontainer Linux.
Jalankan Docker dari mesin yang bergabung ke domain yang sama dengan Azure Stack Hub. Jika Anda menggunakan Azure Stack Development Kit (ASDK), instal VPN di komputer jarak jauh Anda.
Menginstal modul Az Azure Stack Hub pada kontainer Linux
Dari baris perintah Anda, jalankan perintah Docker berikut untuk menjalankan PowerShell dalam kontainer Ubuntu:
docker run -it mcr.microsoft.com/azurestack/powershell
Anda dapat menjalankan Ubuntu atau Debian. Anda dapat menemukan file Docker berikut di repositori GitHub, azurestack-powershell. Lihat repositori GitHub untuk perubahan terbaru pada file Docker. Setiap OS diberikan tag. Ganti tag, bagian setelah titik dua dengan tag untuk OS yang diinginkan.
Linux gambar Docker Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
Shell sudah siap untuk cmdlet Anda. Uji konektivitas shell Anda dengan masuk dan kemudian menjalankan
Test-AzureStack.ps1
.Pertama, buat info masuk perwakilan layanan Anda. Anda akan membutuhkan rahasia dan ID aplikasi. Anda juga akan memerlukan ID objek saat menjalankan
Test-AzureStack.ps1
untuk memeriksa kontainer Anda. Anda mungkin perlu meminta perwakilan layanan dari operator cloud Anda.Ketik cmdlet berikut untuk membuat objek perwakilan layanan:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Sambungkan ke lingkungan Anda dengan menjalankan skrip berikut dengan nilai berikut dari instans Azure Stack Hub Anda.
Nilai Deskripsi Nama lingkungan. Nama lingkungan Azure Stack Hub Anda. Titik akhir Resource Manager URL Resource Manager. Hubungi operator cloud Anda jika Anda tidak mengetahuinya. Respons akan terlihat seperti ini https://management.region.domain.com
.ID Penyewa Direktori ID direktori penyewa Azure Stack Hub Anda. Kredensial Objek yang berisi perwakilan layanan Anda. Dalam kasus ini, $pscredential
../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell menampilkan objek akun Anda.
Uji lingkungan Anda dengan menjalankan skrip
Test-AzureStack.ps1
dalam kontainer. Tentukan ID objek perwakilan layanan. Jika Anda tidak menunjukkan ID objek, maka skrip akan tetap berjalan, tetapi hanya akan menguji modul penyewa (pengguna) dan akan gagal pada modul yang memerlukan izin administrator../Test-AzureStack.ps1 <Object ID>
Langkah berikutnya
- Baca gambaran umum PowerShell Azure Stack Hub di Azure Stack Hub.
- Baca mengenai Profil API untuk PowerShell di Azure Stack Hub.
- Instal PowerShell Azure Stack Hub.
- Baca mengenai pembuatan templat Azure Resource Manager untuk konsistensi cloud.