Pengenalan handler ekstensi Konfigurasi Status yang Diinginkan Azure
Catatan
Sebelum Anda mengaktifkan Ekstensi DSC, kami ingin Anda mengetahui bahwa versi DSC yang lebih baru sekarang tersedia secara umum, bernama Azure Machine Configuration. Layanan Azure Machine Configuration menyertakan fitur dari Ekstensi DSC dan fitur yang umum diminta dari umpan balik pelanggan. Azure Machine Configuration juga menyertakan dukungan komputer hibrid melalui server yang didukung Arc.
Ekstensi Azure VM untuk komputer virtual (VM) Azure dan ekstensi terkait adalah bagian dari layanan infrastruktur Microsoft Azure. Ekstensi Azure VM adalah komponen perangkat lunak yang memperluas fungsionalitas VM dan menyederhanakan berbagai operasi manajemen VM.
Ekstensi DSC hanya mendorong konfigurasi ke VM. Tidak ada pelaporan berkelanjutan yang tersedia, selain secara lokal di VM.
Versi DSC yang tersedia
Ekstensi DSC mendukung konfigurasi dari versi 1.1 platform DSC. Untuk informasi selengkapnya, lihat PSDesiredStateConfiguration v1.1.
Prasyarat
Stasiun kerja pengembang: Untuk berinteraksi dengan ekstensi Azure DSC, Anda harus menggunakan portal Azure atau Azure PowerShell/CLI SDK.
Agen tamu: Azure VM yang disiapkan oleh konfigurasi DSC harus menggunakan sistem operasi yang mendukung Windows Management Framework (WMF) 4.0 atau yang lebih baru. Untuk daftar lengkap versi sistem operasi yang didukung, lihat riwayat versi ekstensi Azure DSC.
Syarat dan konsep
Artikel ini mengasumsikan keakraban dengan konsep berikut:
Konfigurasi mengacu pada dokumen konfigurasi DSC.
Node mengidentifikasi target untuk konfigurasi DSC. Dalam artikel ini, simpul selalu merujuk ke Azure VM.
Data konfigurasi disimpan dalam file format PowerShell DSC (.psd1) yang memiliki data lingkungan untuk konfigurasi.
Sistem
Ekstensi Azure DSC menggunakan kerangka kerja Ekstensi Azure VM untuk mengirimkan, memberlakukan, dan melaporkan konfigurasi DSC yang berjalan di Azure VM. Ekstensi DSC menerima dokumen konfigurasi dan sekumpulan parameter.
Ketika ekstensi dipanggil pertama kali, ekstensi menginstal versi WMF dengan menggunakan logika berikut:
Jika sistem operasi Azure VM adalah Windows Server 2016, tidak ada tindakan yang diambil. Windows Server 2016 sudah memiliki versi terbaru PowerShell yang terinstal.
wmfVersion
Jika properti ditentukan, versi WMF yang ditentukan diinstal, kecuali versi yang ditentukan tidak kompatibel dengan sistem operasi pada VM.Jika tidak ada
wmfVersion
properti yang ditentukan, versi WMF terbaru yang berlaku diinstal.
Proses penginstalan WMF memerlukan mulai ulang. Setelah Anda memulai ulang, ekstensi mengunduh file .zip yang ditentukan dalam modulesUrl
properti , jika disediakan. Jika lokasi ini berada di Azure Blob Storage, Anda dapat menentukan token SAS di sasToken
properti untuk mengakses file. Setelah .zip mengunduh dan membuka kemasan, fungsi konfigurasi yang ditentukan dalam configurationFunction
eksekusi untuk menghasilkan file Managed Object Format (MOF) (.mof). Ekstensi kemudian menjalankan Start-DscConfiguration -Force
perintah dengan menggunakan file .mof yang dihasilkan. Ekstensi menangkap output dan menulisnya ke saluran status Azure.
Nama konfigurasi node
NodeConfigurationName
Untuk parameter , pastikan untuk memberikan nama konfigurasi node dan bukan Konfigurasi.
Konfigurasi ditentukan dalam skrip yang digunakan untuk mengkompilasi konfigurasi simpul (file MOF). Nama konfigurasi simpul selalu merupakan nama Konfigurasi diikuti oleh titik .
dan atau localhost
nama komputer tertentu.
Penyebaran templat ARM
Pendekatan paling umum untuk menyebarkan ekstensi DSC adalah menggunakan templat Azure Resource Manager. Untuk informasi selengkapnya dan untuk contoh cara menyertakan ekstensi DSC dalam templat ARM, lihat Ekstensi Konfigurasi Status yang Diinginkan dengan templat ARM.
Penyebaran cmdlet PowerShell
Cmdlet PowerShell untuk mengelola ekstensi DSC sangat ideal untuk skenario pemecahan masalah interaktif dan pengumpulan informasi. Anda dapat menggunakan cmdlet untuk mengemas, menerbitkan, dan memantau penyebaran ekstensi DSC.
Berikut adalah beberapa cmdlet PowerShell yang tersedia:
Cmdlet Publish-AzVMDscConfiguration mengambil file konfigurasi, memindainya untuk sumber daya DSC dependen, lalu membuat file .zip baru. File .zip berisi konfigurasi dan sumber daya DSC yang diperlukan untuk memberlakukan konfigurasi. Cmdlet juga dapat membuat paket secara lokal dengan menggunakan
-OutputArchivePath
parameter . Jika tidak, cmdlet menerbitkan file .zip ke Blob Storage, lalu mengamankannya dengan token SAS.Skrip konfigurasi PowerShell (.ps1) yang dibuat oleh cmdlet berada dalam file .zip di akar folder arsip. Folder modul ditempatkan di folder arsip di sumber daya.
Cmdlet Set-AzVMDscExtension menyuntikkan pengaturan yang diperlukan ekstensi DSC PowerShell ke dalam objek konfigurasi VM.
Cmdlet Get-AzVMDscExtension mengambil status ekstensi DSC dari VM tertentu.
Cmdlet Get-AzVMDscExtensionStatus mengambil status konfigurasi DSC yang diberlakukan oleh handler ekstensi DSC. Tindakan ini dapat dilakukan pada satu VM atau sekelompok VM.
Cmdlet Remove-AzVMDscExtension akan menghapus handler ekstensi dari VM tertentu. Perlu diingat bahwa cmdlet ini tidak menghapus konfigurasi, menghapus instalan WMF, atau mengubah pengaturan yang diterapkan pada VM. Cmdlet hanya menghapus handler ekstensi.
Pertimbangan penting
Ada beberapa pertimbangan yang perlu diingat saat bekerja dengan cmdlet Azure Resource Manager.
Cmdlet Azure Resource Manager sinkron.
Beberapa parameter diperlukan, termasuk
ResourceGroupName
, ,VMName
,ArchiveStorageAccountName
,Version
danLocation
.ArchiveResourceGroupName
adalah parameter opsional. Tentukan parameter ini saat akun penyimpanan Anda termasuk dalam grup sumber daya yang berbeda dari yang dibuat VM.Gunakan sakelar
AutoUpdate
untuk memperbarui handler ekstensi secara otomatis ke versi terbaru saat tersedia. Parameter ini berpotensi menyebabkan restart pada VM saat versi baru WMF dirilis.
Konfigurasi dengan cmdlet PowerShell
Ekstensi Azure DSC dapat menggunakan dokumen konfigurasi DSC untuk mengonfigurasi Azure VM secara langsung selama penyebaran. Langkah ini tidak mendaftarkan simpul ke Automation atau Konfigurasi Mesin. Perlu diingat bahwa simpul tidak dikelola secara terpusat.
Kode berikut menunjukkan contoh konfigurasi sederhana. Untuk bekerja dengan contoh ini, simpan konfigurasi ini secara lokal sebagai file skrip iisInstall.ps1 .
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Perintah PowerShell berikut menempatkan skrip iisInstall.ps1 pada VM yang ditentukan. Perintah juga menjalankan konfigurasi, lalu melaporkan kembali status.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Penyebaran Azure CLI
Azure CLI dapat digunakan untuk menyebarkan ekstensi DSC ke VM yang ada. Contoh berikut menunjukkan cara menyebarkan VM di Windows.
Untuk VM yang menjalankan Windows, gunakan perintah berikut:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
penyebaran portal Azure
Untuk menyiapkan ekstensi DSC di portal Azure, ikuti langkah-langkah berikut:
Pergi ke VM.
Di bawah Pengaturan, pilih Ekstensi + Aplikasi.
Di bawah Ekstensi, pilih + Tambahkan.
Pilih Konfigurasi Status yang Diinginkan PowerShell, lalu pilih Berikutnya.
Konfigurasikan parameter berikut untuk ekstensi DSC.
Modul atau Skrip Konfigurasi: (Diperlukan) Sediakan modul Konfigurasi atau file skrip untuk VM Anda.
Modul konfigurasi dan skrip memerlukan file .ps1 yang memiliki skrip konfigurasi atau file .zip dengan .ps1 konfigurasi di root. Jika Anda menggunakan file .zip, semua sumber daya dependen harus disertakan dalam folder modul dalam file .zip. Anda dapat membuat file .zip dengan menggunakan cmdlet Publish-AzureVMDscConfiguration -OutputArchivePath yang disertakan dalam Azure PowerShell SDK. File .zip diunggah ke Blob Storage pengguna Anda dan diamankan oleh token SAS.
Nama Konfigurasi yang memenuhi syarat modul: (Diperlukan) Tentukan pengaturan ini untuk menyertakan beberapa fungsi konfigurasi dalam satu file skrip .ps1. Untuk pengaturan ini, masukkan nama file skrip .ps1 konfigurasi diikuti dengan garis miring
\
lalu nama fungsi konfigurasi. Misalnya, jika file skrip .ps1 memiliki nama configuration.ps1 dan nama konfigurasinya adalah IisInstall, masukkan nilaiconfiguration.ps1\IisInstall
untuk pengaturan .Argumen Konfigurasi: Jika fungsi konfigurasi mengambil argumen, masukkan nilai dengan menggunakan format
argumentName1=value1,argumentName2=value2
. Perhatikan bahwa format ini berbeda dari format yang digunakan untuk menentukan argumen konfigurasi di cmdlet PowerShell atau templat ARM.File PSD1 Data Konfigurasi: Jika konfigurasi Anda memerlukan file data konfigurasi dalam format .psd1, gunakan pengaturan ini untuk memilih file data dan mengunggahnya ke Blob Storage pengguna Anda. File data konfigurasi diamankan dengan token SAS di Blob Storage.
Versi WMF: Tentukan versi Windows Management Framework untuk diinstal pada VM Anda. Jika Anda memilih terbaru, yang merupakan nilai default, sistem menginstal versi terbaru WMF. Nilai lain yang mungkin termasuk 4.0, 5.0, dan 5.1. Nilai yang mungkin tunduk pada pembaruan.
Pengumpulan Data: Aktifkan pengaturan ini jika Anda ingin ekstensi DSC mengumpulkan telemetri tentang VM Anda. Untuk informasi selengkapnya, lihat Pengumpulan data ekstensi Azure DSC.
Versi: (Wajib) Tentukan versi ekstensi DSC yang akan diinstal. Untuk informasi tentang versi, lihat Riwayat versi ekstensi Azure DSC.
Peningkatan Otomatis Versi Minor: Pengaturan ini memetakan ke sakelar
AutoUpdate
di cmdlet. Konfigurasikan pengaturan ini untuk mengaktifkan ekstensi DSC agar diperbarui secara otomatis ke versi terbaru selama penginstalan. Ya menginstruksikan handler ekstensi DSC untuk menggunakan versi terbaru yang tersedia. Tidak ada (default) memaksa penginstalan versi yang Anda tentukan dalam pengaturan Versi .
Setelah Anda mengonfigurasi parameter, pilih Tinjau + Buat, lalu pilih Buat.
Log ekstensi DSC
Anda dapat melihat log untuk ekstensi Azure DSC pada VM di bawah C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>
.
Langkah berikutnya
- Untuk informasi selengkapnya tentang PowerShell DSC, kunjungi Pusat dokumentasi PowerShell.
- Periksa templat ARM untuk ekstensi Azure DSC.
- Untuk fungsionalitas lainnya yang bisa Anda kelola menggunakan PowerShell DSC, dan untuk sumber daya DSC lainnya, telusuri galeri PowerShell.
- Untuk detail tentang meneruskan parameter sensitif ke dalam konfigurasi, lihat Mengelola kredensial dengan aman dengan handler ekstensi Azure DSC.