Menyebarkan aplikasi Anda di Virtual Machine Scale Sets
Catatan
Dokumen ini mencakup Set Skala Komputer Virtual yang berjalan dalam mode Orkestrasi Seragam. Sebaiknya gunakan Orkestrasi Fleksibel untuk beban kerja baru. Untuk informasi selengkapnya, lihat Mode orkestrasi untuk Virtual Machine Scale Sets di Azure.
Untuk menjalankan aplikasi pada instans komputer virtual (VM) dalam suatu set skala, Anda perlu memasang komponen aplikasi dan file yang diperlukan terlebih dahulu. Artikel ini memperkenalkan cara untuk membuat citra VM kustom untuk instans dalam suatu set skala, atau secara otomatis menjalankan skrip pemasangan pada instans VM yang ada. Anda juga mempelajari bagaimana cara mengelola pembaruan aplikasi atau OS di seluruh set skala.
Menyusun citra VM kustom
Saat Anda menggunakan salah satu citra platform Azure untuk membuat instans dalam set skala Anda, tidak ada perangkat lunak tambahan yang dipasang atau dikonfigurasi. Anda dapat mengotomatiskan pemasangan komponen-komponen ini, namun itu menambah waktu yang diperlukan untuk menyediakan instans VM ke set skala Anda. Jika Anda menerapkan banyak perubahan konfigurasi pada instans VM, ada ruang gerak (overhead) manajemen dengan skrip dan tugas konfigurasi tersebut.
Untuk mengurangi manajemen konfigurasi dan waktu untuk menyediakan VM, Anda dapat membuat citra VM kustom yang siap menjalankan aplikasi Anda segera setelah instans disediakan dalam set skala. Untuk informasi selengkapnya tentang cara membuat dan menggunakan citra VM kustom dengan set skala, lihat tutorial berikut:
Pasang aplikasi dengan Ekstensi Skrip Kustom
Ekstensi Skrip Kustom mengunduh dan mengeksekusi skrip di komputer virtual Azure. Ekstensi ini berguna untuk konfigurasi pasca penyebaran, penginstalan perangkat lunak, atau tugas konfigurasi/manajemen lainnya. Skrip dapat diunduh dari penyimpanan Azure atau GitHub, atau disediakan ke portal Microsoft Azure pada run-time ekstensi. Untuk informasi selengkapnya tentang cara memasang aplikasi dengan Custom Script Extension:
Pasang aplikasi ke Windows VM dengan PowerShell DSC
PowerShell Desired State Configuration (DSC) adalah platform manajemen untuk menentukan konfigurasi dari mesin target. Konfigurasi DSC menentukan apa yang harus dipasang pada mesin dan cara mengonfigurasi hostnya. Engine Local Configuration Manager (LCM) berjalan pada setiap node target yang memproses tindakan yang diminta berdasarkan konfigurasi yang didorong.
Ekstensi PowerShell DSC memungkinkan Anda menyesuaikan instans VM dalam set skala yang diatur dengan PowerShell. Lihat contoh berikut:
- Menginstruksikan instans VM untuk mengunduh paket DSC dari GitHub - https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip
- Mengatur ekstensi untuk menjalankan skrip pemasangan -
configure-http.ps1
- Mendapatkan informasi tentang set skala dengan Get-AzVmss
- Menerapkan ekstensi ke instans VM dengan Update-AzVmss
Ekstensi DSC diterapkan ke instans VM MyScaleSet di grup sumber daya bernama myResourceGroup. Masukkan nama Anda sendiri sebagai berikut:
# Define the script for your Desired Configuration to download and run
$dscConfig = @{
"wmfVersion" = "latest";
"configuration" = @{
"url" = "https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip";
"script" = "configure-http.ps1";
"function" = "WebsiteTest";
};
}
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Add the Desired State Configuration extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension `
-VirtualMachineScaleSet $vmss `
-Publisher Microsoft.Powershell `
-Type DSC `
-TypeHandlerVersion 2.24 `
-Name "DSC" `
-Setting $dscConfig
# Update the scale set and apply the Desired State Configuration extension to the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Jika kebijakan pemutakhiran pada set skala Anda adalah manual,perbarui instans VM Anda dengan Update-AzVmssInstance. Cmdlet ini menerapkan konfigurasi set skala yang diperbarui ke instans VM dan memasang aplikasi Anda.
Pasang aplikasi ke Linux VM dengan cloud-init
Cloud-init adalah pendekatan yang digunakan secara luas untuk mengustomisasi Linux VM saat boot pertama kali. Anda dapat menggunakan cloud-init untuk memasang paket dan menulis file, atau untuk mengonfigurasi pengguna dan keamanan. Saat cloud-init berjalan selama proses booting awal, tidak ada langkah tambahan atau agen yang diperlukan untuk menerapkan konfigurasi Anda.
Cloud-init juga berjalan di seluruh distribusi. Misalnya, Anda tidak menggunakan apt-get install atau yum install untuk memasang paket. Sebagai gantinya, Anda dapat menentukan daftar paket yang akan dipasang. Cloud-init secara otomatis menggunakan alat manajemen paket asli untuk distro yang Anda pilih.
Untuk informasi selengkapnya, termasuk contoh file cloud-init.txt, lihat Gunakan cloud-init untuk mengustomisasi Azure VM.
Untuk membuat set skala dan menggunakan file cloud-init, tambahkan --custom-data
parameter ke perintah az vmass create dan tentukan nama file cloud-init. Contoh berikut membuat set skala bernama myScaleSet di myResourceGroup dan mengonfigurasi instans VM dengan file bernama cloud-init.txt. Masukkan nama Anda sendiri sebagai berikut:
Penting
Mulai November 2023, set skala VM yang dibuat menggunakan PowerShell dan Azure CLI akan default ke Mode Orkestrasi Fleksibel jika tidak ada mode orkestrasi yang ditentukan. Untuk informasi selengkapnya tentang perubahan ini dan tindakan apa yang harus Anda ambil, buka Melanggar Perubahan untuk Pelanggan VMSS PowerShell/CLI - Microsoft Community Hub
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image Ubuntu2204 \
-–orchestration-mode uniform \
--upgrade-policy-mode automatic \
--custom-data cloud-init.txt \
--admin-username azureuser \
--generate-ssh-keys
Pasang aplikasi dengan pembaruan OS
Saat rilis OS baru tersedia, Anda dapat menggunakan atau membuat citra kustom baru dan menerapkan pemutakhiran OS ke set skala. Setiap instans VM ditingkatkan ke citra terbaru yang Anda tentukan. Anda dapat menggunakan citra kustom dengan aplikasi yang telah dipasang sebelumnya, Custom Script Extension, atau PowerShell DSC agar aplikasi Anda tersedia secara otomatis saat Anda melakukan pemutakhiran. Anda mungkin perlu merencanakan memelihara aplikasi saat melakukan proses ini untuk memastikan bahwa tidak ada masalah kompatibilitas versi.
Jika Anda menggunakan citra VM kustom dengan aplikasi yang telah dipasang sebelumnya, Anda dapat mengintegrasikan pembaruan aplikasi dengan alur penyebaran untuk membangun citra baru dan menerapkan pemutakhiran OS di seluruh set skala. Pendekatan ini memungkinkan alur untuk mengambil build aplikasi terbaru, membuat dan memvalidasi citra VM, lalu memutakhirkan instans VM dalam set skala. Untuk menjalankan alur penyebaran yang membangun dan menyebar pembaruan aplikasi di seluruh citra VM kustom, Anda dapat membuat citra Packer dan menyebar dengan Azure DevOps Services, atau menggunakan platform lain seperti Spinnaker atau Jenkins.
Langkah berikutnya
Saat Anda membangun dan menerapkan aplikasi ke set skala Anda, Anda dapat meninjau Gambaran Umum Desain Set Skala. Untuk informasi selengkapnya tentang cara mengelola set skala Anda, lihat Menggunakan PowerShell untuk mengelola set skala Anda.