Tutorial: Membuat dan menggunakan gambar kustom untuk Virtual Machine Scale Sets dengan Azure CLI
Saat Anda membuat set skala, Anda menentukan gambar yang akan digunakan saat instans VM diterapkan. Untuk mengurangi jumlah tugas setelah instans VM diterapkan, Anda dapat menggunakan gambar VM kustom. Gambar VM kustom ini mencakup instalasi atau konfigurasi aplikasi yang diperlukan. Setiap instans VM yang dibuat dalam set skala menggunakan gambar VM kustom dan siap untuk melayani lalu lintas aplikasi Anda. Dalam tutorial ini, Anda akan mempelajari cara:
- Membuat Azure Compute Gallery
- Membuat definisi gambar khusus
- Membuat versi gambar
- Membuat set skala dari gambar khusus
- Berbagi galeri gambar
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- Artikel ini memerlukan antarmuka tingkat panggilan Azure versi 2.4.0 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.
Gambaran Umum
Azure Compute Gallery menyederhanakan berbagi gambar kustom di seluruh organisasi Anda. Citra kustom seperti gambar pasar, tetapi Anda membuatnya sendiri. Citra kustom dapat digunakan untuk konfigurasi bootstrap seperti aplikasi yang dimuat sebelumnya, konfigurasi aplikasi, dan konfigurasi OS lainnya.
Azure Compute Gallery memungkinkan Anda berbagi gambar VM kustom Anda dengan orang lain. Pilih gambar mana yang ingin Anda bagikan, wilayah mana yang ingin Anda sediakan, dan dengan siapa Anda ingin membagikannya.
Membuat dan mengonfigurasi sumber VM
Pertama, buat grup sumber daya dengan buat grup az, lalu buat VM dengan membuat az vm. VM ini kemudian digunakan sebagai sumber untuk gambar.
Contoh berikut membuat VM berbasis Linux bernama myVM di grup sumber daya bernama myResourceGroup.
export RANDOM_ID=$(openssl rand -hex 3)
export MY_RESOURCE_GROUP_NAME="myResourceGroup$RANDOM_ID"
export REGION="eastus"
export MY_VM_NAME="myVM"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image debian11 \
--admin-username azureuser \
--generate-ssh-keys
Tip
ID VM Anda ditampilkan dalam output perintah buat az vm. Salin dan simpan ini di lokasi yang aman sehingga Anda dapat menggunakannya nanti dalam tutorial ini.
Membuat galeri gambar
Galeri gambar adalah sumber daya utama yang digunakan untuk mengaktifkan berbagi gambar.
Karakter yang diizinkan untuk nama galeri adalah huruf besar atau kecil, digit, titik, dan titik. Nama galeri tidak boleh berisi tanda hubung. Nama galeri harus unik di dalam langganan Anda.
Buat galeri gambar menggunakan az sig create.
Dalam contoh berikut:
- Anda membuat grup sumber daya untuk galeri bernama myGalleryRG yang terletak di US Timur.
- Galeri ini bernama myGallery.
export MY_GALLERY_RG_NAME="myGalleryRG$RANDOM_ID"
export MY_GALLERY_NAME="myGallery$RANDOM_ID"
az group create --name $MY_GALLERY_RG_NAME --location $REGION
az sig create --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME
Membuat definisi gambar
Definisi citra membuat pengelompokan logis untuk citra. Mereka digunakan untuk mengelola informasi tentang versi gambar yang dibuat di dalamnya.
Nama definisi citra dapat terdiri atas huruf besar atau huruf kecil, digit, titik, tanda hubung, dan titik.
Pastikan definisi gambar Anda adalah jenis yang tepat:
- Status - Jika Anda telah menggeneralisasi VM (menggunakan Sysprep untuk Windows, atau waagent -deprovision untuk Linux), maka Anda harus membuat definisi gambar umum menggunakan
--os-state generalized
. Jika Anda ingin menggunakan VM tanpa menghapus akun pengguna yang ada, buat definisi gambar khusus menggunakan--os-state specialized
. - Jenis keamanan - Azure VM baru dibuat dengan Peluncuran Tepercaya yang dikonfigurasi secara default. Tutorial ini mencakup sampel kode berikutnya yang mencerminkan konfigurasi Peluncuran Tepercaya saat membuat definisi gambar dan set skala. Jika Anda membuat gambar dengan VM yang tidak mengaktifkan Peluncuran Tepercaya, pastikan untuk mencerminkan jenis keamanan yang benar saat Anda membuat kedua sumber daya tersebut. Untuk informasi selengkapnya tentang Peluncuran Tepercaya, lihat Peluncuran Tepercaya untuk komputer virtual Azure.
Untuk informasi selengkapnya tentang nilai yang bisa Anda tentukan untuk definisi gambar, lihat Definisi citra.
Buat definisi citra di galeri menggunakan az sig image-definition create.
Dalam contoh berikut, definisi gambar adalah:
- Bernama myImageDefinition.
- Dikonfigurasi untuk gambar OS Linux khusus . Untuk membuat definisi untuk gambar menggunakan OS Windows, gunakan
--os-type Windows
. - Dikonfigurasi untuk Peluncuran Tepercaya.
export MY_IMAGE_DEF_NAME="myImageDefinition$RANDOM_ID"
MY_PUBLISHER_NAME="myPublisher$RANDOM_ID"
az sig image-definition create \
--resource-group $MY_GALLERY_RG_NAME \
--gallery-name $MY_GALLERY_NAME \
--gallery-image-definition $MY_IMAGE_DEF_NAME \
--publisher $MY_PUBLISHER_NAME \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized \
--features SecurityType=TrustedLaunch
Tip
ID definisi gambar Anda ditampilkan dalam output perintah. Salin dan simpan ini di lokasi yang aman sehingga Anda dapat menggunakannya nanti dalam tutorial ini.
Membuat versi citra
Buat versi gambar dari VM menggunakan galeri gambar az create-image-version.
Karakter yang diizinkan untuk versi gambar adalah angka dan titik. Angka harus berada dalam rentang bilangan bulat 32-bit. Format: MajorVersion.MinorVersion.Patch.
Dalam contoh berikut:
- Versi gambar adalah 1.0.0.
- Kami membuat satu replika di wilayah US Tengah Selatan dan satu replika di wilayah US Timur. Wilayah replikasi harus mencakup wilayah tempat VM sumber berada.
--virtual-machine
adalah ID VM yang kami buat sebelumnya.
export MY_VM_ID=$(az vm show --name $MY_VM_NAME --resource-group $MY_RESOURCE_GROUP_NAME --query "id" --output tsv)
az sig image-version create \
--resource-group $MY_GALLERY_RG_NAME \
--gallery-name $MY_GALLERY_NAME \
--gallery-image-definition $MY_IMAGE_DEF_NAME \
--gallery-image-version 1.0.0 \
--target-regions "southcentralus=1" "eastus=1" \
--virtual-machine $MY_VM_ID
Catatan
Anda perlu menunggu versi gambar benar-benar selesai dibangun dan direplikasi sebelum Anda dapat menggunakan gambar yang sama untuk membuat versi gambar lain.
Anda juga dapat menyimpan gambar Anda di penyimpanan Premium dengan menambahkan --storage-account-type premium_lrs
, atau Zone Redundant Storage dengan menambahkan --storage-account-type standard_zrs
saat Anda membuat versi gambar.
Membuat set skala dari gambar
Anda membuat set skala menggunakan az vmss create
. Jika Anda menggunakan VM sumber khusus, tambahkan --specialized
parameter untuk menunjukkan bahwa itu adalah gambar khusus.
Saat Anda menggunakan ID definisi gambar untuk --image
membuat instans set skala, Anda membuat set skala yang menggunakan versi terbaru gambar yang tersedia. Jika Anda menginginkan versi gambar tertentu, pastikan Anda menyertakan ID versi gambar saat Menentukan --image
.
Contoh gambar terbaru:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage
Contoh gambar tertentu:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage/versions/1.0.0
Dalam contoh berikut, set skalanya adalah:
- Bernama myScaleSet
- Menggunakan versi terbaru gambar myImageDefinition .
- Dikonfigurasi untuk Peluncuran Tepercaya.
export MY_IMAGE_DEF_ID=$(az sig image-definition show --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME --gallery-image-definition $MY_IMAGE_DEF_NAME --query "id" --output tsv)
export MY_SCALE_SET_RG_NAME="myResourceGroup$RANDOM_ID"
export MY_SCALE_SET_NAME="myScaleSet$RANDOM_ID"
az group create --name $MY_SCALE_SET_RG_NAME --location eastus
az vmss create \
--resource-group $MY_SCALE_SET_RG_NAME \
--name $MY_SCALE_SET_NAME \
--orchestration-mode flexible \
--image $MY_IMAGE_DEF_ID \
--specialized \
--security-type TrustedLaunch
Dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya dan komputer virtual set skala.
Membagikan galeri
Anda dapat berbagi gambar di seluruh langganan menggunakan kontrol akses berbasis peran Azure (Azure RBAC), dan Anda dapat membagikannya di galeri, definisi gambar, atau tingkat versi gambar. Setiap pengguna dengan izin baca ke versi gambar, bahkan di seluruh langganan, dapat menyebarkan VM menggunakan versi gambar.
Kami menyarankan agar Anda berbagi dengan pengguna lain di tingkat galeri.
Lihat contoh berikut:
- Mendapatkan ID objek galeri menggunakan az sig show.
- Menyediakan akses ke galeri menggunakan az role assignment create.
- Menggunakan ID objek sebagai cakupan penugasan.
- Menggunakan ID pengguna yang masuk sebagai penerima tugas untuk tujuan demonstrasi. Saat Anda menggunakan kode ini dalam kode pengujian atau produksi, pastikan Anda memperbarui penerima tugas untuk mencerminkan siapa yang Anda inginkan untuk dapat mengakses gambar ini. Untuk informasi selengkapnya tentang cara berbagi sumber daya menggunakan Azure RBAC, lihat Menambahkan atau menghapus penetapan peran Azure menggunakan antarmuka tingkat panggilan Azure. , bersama dengan alamat email, menggunakan buat penetapan peran az untuk memberi pengguna akses ke galeri gambar bersama.
export MY_GALLERY_ID=$(az sig show --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME --query "id" --output tsv)
export CALLER_ID=$(az ad signed-in-user show --query id -o tsv)
az role assignment create \
--role "Reader" \
--assignee $CALLER_ID \
--scope $MY_GALLERY_ID
Membersihkan sumber daya
Untuk menghapus set skala dan sumber daya tambahan Anda, hapus grup sumber daya dan semua sumber dayanya dengan az group delete. Parameter --no-wait
mengembalikan kontrol ke permintaan tanpa menunggu operasi selesai. Parameter --yes
mengonfirmasi bahwa Anda ingin menghapus sumber daya tanpa permintaan tambahan untuk melakukannya.
Langkah berikutnya
Dalam tutorial ini, Anda belajar cara membuat dan menggunakan gambar VM kustom untuk set skala Anda dengan antarmuka tingkat panggilan Azure:
- Membuat Azure Compute Gallery
- Membuat definisi gambar khusus
- Membuat versi gambar
- Membuat set skala dari gambar khusus
- Berbagi galeri gambar
Lanjutkan ke tutorial berikutnya untuk belajar bagaimana menyebarkan aplikasi ke set skala Anda.