Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Spesifikasi Gambar yang Disiapkan (PIS) memungkinkan Anda menentukan gambar simpul yang telah dikonfigurasi sebelumnya yang menyertakan gambar dan penyesuaian kontainer yang diperlukan. AKS membuat image yang telah disiapkan satu kali dan menggunakannya kembali saat memprovisikan node, sehingga mengurangi waktu startup untuk operasi penskalaan berikutnya. Untuk informasi selengkapnya tentang cara kerja Spesifikasi Gambar yang Disiapkan dan kapan menggunakannya, lihat Spesifikasi Gambar yang Disiapkan di AKS (Pratinjau).
Artikel ini memperlihatkan kepada Anda cara membuat dan mengelola PIS di AKS.
Important
Fitur pratinjau AKS tersedia atas dasar layanan mandiri dan pendaftaran sukarela. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Fitur pratinjau AKS sebagian didukung oleh dukungan pelanggan sebatas upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:
Prasyarat
- Kluster AKS yang ada menjalankan versi Kubernetes yang didukung. Jika Anda tidak memilikinya, lihat Membuat kluster AKS.
- Azure CLI versi 2.85.0 atau yang lebih baru. Jalankan
az --versionuntuk menemukan versi Anda. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI. - Anda memerlukan izin RBAC Azure yang sesuai untuk membuat dan mengelola sumber daya AKS di grup sumber daya Anda.
- Gambar kontainer Anda harus dapat diakses dari kluster AKS. Jika Anda menggunakan Azure Container Registry (ACR), pastikan itu terintegrasi dengan kluster AKS Anda.
-
aks-previewEkstensi CLI versi 21.0.0b5 atau yang lebih baru. Jika Anda tidak memilikinya, lihat Menginstalaks-previewekstensi CLI. - Flag fitur
AKSPreparedImageSpecificationPreviewyang terdaftar pada langganan Anda. Jika Anda belum mendaftarkannya, lihat MendaftarkanAKSPreparedImageSpecificationPreviewbendera fitur.
Keterbatasan
Batasan berikut berlaku selama pratinjau:
- Tersedia di wilayah Azure publik, tidak termasuk sovereign cloud dan lingkungan bersalur udara.
- Sistem operasi yang didukung termasuk Ubuntu, Azure Linux, dan Windows.
- Skrip kustom dapat menyebabkan kegagalan proses build image atau peningkatan skala image.
- Anda mungkin perlu membuat ulang spesifikasi yang ada saat memodifikasinya.
aks-preview Menginstal ekstensi CLI
Instal ekstensi CLI aks-preview dengan menggunakan perintah az extension add.
az extension add --name aks-preview
Perbarui ekstensi untuk memastikan Anda memiliki versi terbaru yang diinstal dengan menggunakan az extension update perintah .
az extension update --name aks-preview
Daftarkan AKSPreparedImageSpecificationPreview penanda fitur
Daftarkan
AKSPreparedImageSpecificationPreviewbendera fitur di langganan Anda menggunakanaz feature registerperintah .az feature register \ --namespace Microsoft.ContainerService \ --name AKSPreparedImageSpecificationPreviewVerifikasi status pendaftaran menggunakan
az feature showperintah .az feature show \ --namespace Microsoft.ContainerService \ --name AKSPreparedImageSpecificationPreviewSetelah flag fitur terdaftar, segarkan pendaftaran penyedia sumber daya Microsoft.ContainerService menggunakan perintah
az provider register.az provider register --namespace Microsoft.ContainerService
Membuat Spesifikasi Gambar yang Disiapkan (PIS)
Membuat Spesifikasi Dasar Gambar yang Disiapkan
Buat PIS dengan perintah az aks prepared-image-specification create.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
PIS_NAME=<your-pis-name>
LOCATION=<location>
PIS_VERSION=v1
# Create a basic Prepared Image Specification
az aks prepared-image-specification create \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--version $PIS_VERSION \
--location $LOCATION
Membuat Spesifikasi Gambar yang Disiapkan dengan gambar yang di-cache
Buat PIS yang melakukan pra-cache gambar kontainer menggunakan az aks prepared-image-specification create perintah .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
PIS_NAME=<your-pis-name>
LOCATION=<location>
PIS_VERSION=v1
# Create a Prepared Image Specification with cached images
az aks prepared-image-specification create \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--version $PIS_VERSION \
--container-images \
myacr.azurecr.io/model-server:v1 \
myacr.azurecr.io/inference:v1
Membuat Spesifikasi Gambar yang Disiapkan menggunakan skrip kustom
Buat PIS yang menjalankan skrip kustomisasi selama pembuatan image menggunakan perintah az aks prepared-image-specification create.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
PIS_NAME=<your-pis-name>
LOCATION=<location>
PIS_VERSION=v1
# Create a Prepared Image Specification using custom scripts
az aks prepared-image-specification create \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--version $PIS_VERSION \
--customization-scripts @scripts.json
Membuat kluster atau kumpulan simpul menggunakan Spesifikasi Gambar yang Disiapkan
Setelah membuat PIS, Anda dapat mereferensikannya saat membuat atau memperbarui kluster atau kumpulan simpul. Anda memerlukan ID sumber daya dari versi gambar yang disiapkan.
Membuat kluster menggunakan PIS
Dapatkan ID sumber daya versi PIS menggunakan perintah
az aks prepared-image-specification version show.# Set environment variables RESOURCE_GROUP=<your-resource-group> PIS_NAME=<your-pis-name> PIS_VERSION=v1 # Get the PIS version resource ID PIS_VERSION_ID=$(az aks prepared-image-specification version show \ --resource-group $RESOURCE_GROUP \ --pis-name $PIS_NAME \ --name $PIS_VERSION \ --query id -o tsv)Buat kluster AKS baru yang merujuk ke image yang telah disiapkan dengan menggunakan perintah
az aks createdengan parameter--prepared-image-specification-id.# Set environment variables CLUSTER_NAME=<your-aks-cluster-name> # Create a new AKS cluster using the prepared image az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --prepared-image-specification-id $PIS_VERSION_ID \ --generate-ssh-keys
Membuat kumpulan simpul menggunakan PIS
Dapatkan ID sumber daya versi PIS menggunakan perintah
az aks prepared-image-specification version show.# Set environment variables RESOURCE_GROUP=<your-resource-group> PIS_NAME=<your-pis-name> PIS_VERSION=v1 # Get the PIS version resource ID PIS_VERSION_ID=$(az aks prepared-image-specification version show \ --resource-group $RESOURCE_GROUP \ --pis-name $PIS_NAME \ --name $PIS_VERSION \ --query id -o tsv)Buat node pool baru yang merujuk ke image yang telah disiapkan dengan menggunakan perintah
az aks nodepool adddengan parameter--prepared-image-specification-id.# Set environment variables CLUSTER_NAME=<your-aks-cluster-name> # Create a new node pool using the prepared image az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name userpool \ --prepared-image-specification-id $PIS_VERSION_IDPastikan bahwa pool node menggunakan PIS dengan perintah
az aks nodepool show.az aks nodepool show \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name userpool \ --query "{state:provisioningState, pisId:preparedImageSpecificationId}"
Mengelola Spesifikasi Gambar yang Disiapkan
Cantumkan Spesifikasi Gambar yang Disiapkan
Cantumkan semua spesifikasi image yang disiapkan dalam grup sumber daya menggunakan perintah az aks prepared-image-specification list.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
# List all Prepared Image Specifications in the resource group
az aks prepared-image-specification list --resource-group $RESOURCE_GROUP
Tampilkan Spesifikasi Gambar yang Disiapkan Tertentu
Dapatkan detail dari Spesifikasi Image yang Disiapkan tertentu menggunakan perintah az aks prepared-image-specification show.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# Show the details of the Prepared Image Specification
az aks prepared-image-specification show \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME
Memperbarui metadata Spesifikasi Gambar yang Disiapkan
Ada dua konsep sumber daya: sumber daya PIS dan versi PIS. Memperbarui metadata PIS, seperti tag, memperbarui sumber daya PIS dan tidak mengubah gambar atau skrip versi yang dirujuk. Untuk mengubah gambar atau skrip kontainer, buat versi PIS baru dan perbarui kumpulan simpul untuk mereferensikan ID versi PIS tersebut.
Anda dapat memperbarui metadata, seperti tag, pada Spesifikasi Gambar yang Disiapkan yang ada menggunakan az aks prepared-image-specification update perintah . Untuk mengubah gambar atau skrip kontainer, buat versi baru sebagai gantinya.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# Update the Prepared Image Specification metadata
az aks prepared-image-specification update \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--tags environment=prod
Mencantumkan semua versi Spesifikasi Gambar yang Disiapkan
Cantumkan semua versi Spesifikasi Citra yang Disiapkan menggunakan perintah az aks prepared-image-specification version list.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# List all versions of the Prepared Image Specification
az aks prepared-image-specification version list \
--resource-group $RESOURCE_GROUP \
--pis-name $PIS_NAME
Menampilkan versi tertentu dari Spesifikasi Gambar yang Disiapkan
Dapatkan detail versi tertentu menggunakan perintah az aks prepared-image-specification version show dengan parameter --name yang diatur ke versi PIS.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
PIS_VERSION=v1
# Show the details of the specific version of the Prepared Image Specification
az aks prepared-image-specification version show \
--resource-group $RESOURCE_GROUP \
--pis-name $PIS_NAME \
--name $PIS_VERSION
Mencantumkan kumpulan simpul yang menggunakan Spesifikasi Gambar yang Disiapkan tertentu
Untuk menemukan semua kumpulan simpul dalam kluster yang mereferensikan Spesifikasi Gambar yang Disiapkan, gunakan az aks nodepool list perintah dengan filter JMESPath.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
# List all node pools in the cluster that reference a Prepared Image Specification
az aks nodepool list \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--query "[?preparedImageSpecificationId != null]"
Meningkatkan versi Spesifikasi Gambar yang Disiapkan
Saat gambar dasar, dependensi, atau kustomisasi Anda berubah, buat versi baru dan perbarui kumpulan simpul Anda untuk mereferensikannya. Alur kerja yang direkomendasikan adalah:
Buat versi baru dengan gambar atau skrip kontainer yang diperbarui.
Validasi versi baru dalam kumpulan simpul nonproduksi.
Perbarui kumpulan simpul produksi untuk mereferensikan versi baru.
# Set environment variables RESOURCE_GROUP=<your-resource-group> CLUSTER_NAME=<your-aks-cluster-name> NEW_PIS_VERSION_ID=<new-pis-version-resource-id> # Update a node pool to reference a new PIS version using the `az aks nodepool update` command az aks nodepool update \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name userpool \ --prepared-image-specification-id $NEW_PIS_VERSION_IDBersihkan gambar yang tidak digunakan untuk pengoptimalan biaya.
Peningkatan versi AKS
Saat Anda meningkatkan versi Kubernetes, AKS secara otomatis membangun kembali VHD yang disiapkan untuk versi PIS yang direferensikan. Anda tidak perlu membuat versi PIS baru untuk peningkatan versi Kubernetes. Anda harus membuat versi PIS baru saat konten PIS, seperti gambar kontainer atau skrip, berubah.
Periksa peningkatan yang tersedia menggunakan az aks get-upgrades perintah .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
# Check for available upgrades
az aks get-upgrades \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME
Tingkatkan kluster menggunakan az aks upgrade perintah .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
KUBERNETES_VERSION=<new-kubernetes-version>
# Upgrade the cluster to the new Kubernetes version
az aks upgrade \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--kubernetes-version $KUBERNETES_VERSION
Important
Buat dan validasi versi baru Spesifikasi Citra Siap Pakai yang ditujukan untuk versi baru Kubernetes dan citra node sebelum meningkatkan versi pool node produksi.
Tingkatkan kumpulan simpul tertentu menggunakan az aks nodepool upgrade perintah .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
NODE_POOL_NAME=<your-node-pool-name>
# Upgrade the node pool to the new Kubernetes version
az aks nodepool upgrade \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME
Menghapus Spesifikasi Gambar yang Disiapkan dari kumpulan simpul
Untuk berhenti menggunakan Spesifikasi Image yang Disiapkan pada node pool, perbarui node pool menggunakan perintah az aks nodepool update dengan string kosong untuk parameter --prepared-image-specification-id.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
# Remove the Prepared Image Specification from the node pool
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name userpool \
--prepared-image-specification-id ""
Menghapus versi Spesifikasi Gambar yang Disiapkan
Hapus versi tertentu menggunakan az aks prepared-image-specification version delete perintah .
Important
Jangan hapus versi PIS yang dirujuk oleh kumpulan simpul. Sebagai gantinya, Anda harus memperbarui kumpulan simpul untuk menghapus PIS atau mereferensikan versi PIS lain. Menghapus versi yang dirujuk dapat membuat AKS gagal membangun ulang atau meluncurkan image yang telah disiapkan.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
PIS_VERSION=<your-pis-version>
# Delete the specific version of the Prepared Image Specification
az aks prepared-image-specification version delete \
--resource-group $RESOURCE_GROUP \
--pis-name $PIS_NAME \
--name $PIS_VERSION
Menghapus Spesifikasi Gambar yang Disiapkan
Hapus seluruh resource Prepared Image Specification dengan perintah az aks prepared-image-specification delete.
Important
Sebelum menghapus sumber daya PIS, pastikan tidak ada kumpulan simpul yang mereferensikan salah satu versinya. Jika Anda menemukan referensi apa pun, hapus atau perbarui sebelum menghapus sumber daya PIS. Menghapus PIS yang direferensikan dapat mencegah AKS berhasil membangun kembali atau menggulung gambar yang disiapkan.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# Delete the Prepared Image Specification
az aks prepared-image-specification delete \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME
Memantau performa Spesifikasi Gambar yang Disiapkan
Untuk mengevaluasi apakah PIS mengurangi latensi provisi di lingkungan Anda, pantau metrik berikut:
- Durasi penyediaan node dan waktu hingga siap: Bandingkan dengan node yang tidak menggunakan image yang telah disiapkan.
- Waktu penyelesaian penambahan skala: Waktu dari pemicu autoscaler hingga node berada dalam status Ready.
- Durasi build gambar dan tingkat keberhasilan build: Lacak kesehatan alur persiapan gambar.
- Waktu mulai pod dan durasi pengunduhan image kontainer: Pastikan bahwa pra-cache image digunakan secara efektif.
Memecahkan Masalah Spesifikasi Gambar yang Disiapkan
Kesalahan terkait PIS harus mencakup alasan kegagalan, dan banyak kegagalan kemungkinan berasal dari skrip kustom. Jika pembuatan node pool atau scale-up gagal setelah menambahkan PIS, Anda harus memeriksa log build image dan log skrip kustom, serta memvalidasi skrip tersebut sebelum membuat versi baru atau memperbarui referensi node pool.
Pembuatan gambar gagal
Nota
Ketika skrip kustomisasi gagal selama proses build image, AKS melepas alokasi VM build tersebut alih-alih menghapusnya agar pelanggan dapat menyalakannya dan melakukan debug. Pada rebake PIS berikutnya, AKS akan menghapus dan membuat ulang sumber daya build set skala komputer virtual.
Jika PIS gagal membuat image yang telah disiapkan, periksa hal-hal berikut:
- Skrip kustomisasi tidak valid atau salah bentuk.
- Kegagalan autentikasi registri kontainer - verifikasi bahwa kluster AKS memiliki akses penarikan ke registri yang ditentukan.
- Izin RBAC Azure hilang pada grup sumber daya atau registri.
- Jenis kustomisasi yang tidak didukung untuk OS target.
Pembuatan kumpulan simpul gagal
Jika kumpulan node yang merujuk ke PIS gagal dibuat, pastikan hal berikut:
- ID versi PIS adalah valid dan versi tersebut ada di wilayah yang sama.
- Langganan Anda memiliki kuota yang memadai untuk SKU VM yang diminta.
- SKU VM yang diminta didukung oleh gambar yang disiapkan.
- Wilayah ini mendukung fitur PIS selama pratinjau.
Operasi penskalaan tidak menjadi lebih cepat
Jika Anda tidak melihat pengurangan waktu penyediaan, pastikan hal berikut:
- Gambar kontainer yang ingin Anda percepat disertakan dalam versi PIS.
- Kumpulan simpul mereferensikan versi yang benar.
- Simpul baru melakukan booting dari gambar yang disiapkan, bukan gambar node AKS dasar.
- Hambatannya adalah waktu yang diperlukan untuk menarik image kontainer, bukan proses startup workload atau inisialisasi lainnya.
Membersihkan sumber daya
Jika Anda membuat sumber daya dalam artikel ini untuk tujuan pengujian, hapus sumber daya tersebut setelah selesai untuk menghindari biaya yang sedang berlangsung. Ini termasuk versi PIS, sumber daya PIS, kumpulan simpul pengujian, dan kluster AKS pengujian.
Untuk menghapus grup sumber daya dan semua sumber daya di dalamnya, gunakan az group delete perintah .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
# Delete the resource group and all resources in it
az group delete \
--name $RESOURCE_GROUP \
--yes \
--no-wait
Konten terkait
Untuk mempelajari selengkapnya tentang Spesifikasi Gambar yang Disiapkan, lihat Spesifikasi Gambar yang Disiapkan di AKS (Pratinjau).