Menyebarkan dan mengelola ekstensi kluster dengan menggunakan Azure CLI
Anda dapat membuat instans ekstensi dalam kluster AKS, mengatur parameter yang diperlukan dan opsional termasuk opsi yang terkait dengan pembaruan dan konfigurasi. Anda juga dapat melihat, mencantumkan, memperbarui, dan menghapus instans ekstensi.
Sebelum memulai, baca tentang ekstensi kluster.
Catatan
Contoh yang disediakan dalam artikel ini tidak lengkap, dan hanya dimaksudkan untuk menampilkan fungsionalitas. Untuk daftar perintah yang komprehensif dan parameternya, lihat referensi CLI ekstensi az k8s.
Prasyarat
Langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.
Penyedia
Microsoft.ContainerService
sumber daya danMicrosoft.KubernetesConfiguration
harus terdaftar di langganan Anda. Untuk mendaftarkan penyedia ini, jalankan perintah berikut:az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --wait
Kluster AKS. Kluster ini harus dibuat dengan identitas terkelola, karena ekstensi kluster tidak akan berfungsi dengan kluster berbasis perwakilan layanan. Untuk kluster baru yang dibuat dengan
az aks create
, identitas terkelola dikonfigurasi secara default. Untuk kluster berbasis perwakilan layanan yang ada, beralihlah untuk mengelola identitas dengan menjalankanaz aks update
dengan--enable-managed-identity
bendera . Untuk informasi selengkapnya, lihat Menggunakan identitas terkelola.Azure CLI versi >= 2.16.0 terpasang. Sebaiknya gunakan versi terbaru.
Versi
k8s-extension
terbaru ekstensi Azure CLI. Instal ekstensi dengan menjalankan perintah berikut:az extension add --name k8s-extension
Jika ekstensi sudah diinstal, pastikan Anda menjalankan versi terbaru dengan menggunakan perintah berikut:
az extension update --name k8s-extension
Membuat instans ekstensi
Buat instans ekstensi baru dengan k8s-extension create
, memberikan nilai untuk parameter wajib. Contoh perintah ini membuat instans ekstensi Azure Pembelajaran Mesin pada kluster AKS Anda:
az k8s-extension create --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True inferenceRouterServiceType=LoadBalancer
Contoh perintah ini membuat contoh aplikasi Kubernetes (diterbitkan di Marketplace) pada kluster AKS Anda:
az k8s-extension create --name voteapp --extension-type Contoso.AzureVoteKubernetesAppTest --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --plan-name testPlanID --plan-product testOfferID --plan-publisher testPublisherID --configuration-settings title=VoteAnimal value1=Cats value2=Dogs
Catatan
Layanan Ekstensi Kluster ini tidak dapat mempertahankan informasi sensitif selama lebih dari 48 jam. Jika agen ekstensi kluster tidak memiliki konektivitas jaringan selama lebih dari 48 jam dan tidak dapat menentukan apakah akan membuat ekstensi pada kluster, maka ekstensi beralih ke Failed
status. Setelah dalam Failed
status, Anda harus menjalankan k8s-extension create
lagi untuk membuat instans ekstensi baru.
Parameter yang diperlukan
Nama parameter | Deskripsi |
---|---|
--name |
Nama instans ekstensi |
--extension-type |
Tipe ekstensi yang ingin Anda instal pada kluster. Misalnya: Microsoft.AzureML.Kubernetes |
--cluster-name |
Jenis kluster AKS tempat instans ekstensi harus dibuat |
--resource-group |
Grup sumber daya yang berisi kluster AKS |
--cluster-type |
Jenis kluster tempat instans ekstensi harus dibuat. Tentukan managedClusters saat memetakan ke kluster AKS |
Parameter opsional
Nama parameter | Deskripsi |
---|---|
--auto-upgrade-minor-version |
Properti Boolean yang menentukan apakah versi minor ekstensi akan ditingkatkan secara otomatis atau tidak. Default: true . Jika parameter ini diatur ke true, Anda tidak dapat mengatur version parameter, karena versi akan diperbarui secara dinamis. Jika diatur ke false , ekstensi tidak akan ditingkatkan secara otomatis bahkan untuk versi patch. |
--version |
Versi ekstensi yang akan diinstal (versi tertentu tempat akan disematkannya instans esktensi). Tidak boleh diberikan jika versi minor peningkatan otomatis diatur ke true . |
--configuration-settings |
Pengaturan yang dapat diteruskan ke ekstensi untuk mengontrol fungsionalitasnya. Berikan nilai sebagai pasangan yang dipisahkan key=value spasi setelah nama parameter. Jika parameter ini digunakan dalam perintah, --configuration-settings-file tidak dapat digunakan dalam perintah yang sama. |
--configuration-settings-file |
Jalur ke file JSON memiliki pasangan nilai kunci yang akan digunakan untuk memasukkan pengaturan konfigurasi ke ekstensi. Jika parameter ini digunakan dalam perintah, --configuration-settings tidak dapat digunakan dalam perintah yang sama. |
--configuration-protected-settings |
Pengaturan ini tidak dapat diambil kembali menggunakan panggilan API GET atau perintah az k8s-extension show , oleh karenanya digunakan untuk memasukkan pengaturan sensitif. Berikan nilai sebagai pasangan yang dipisahkan key=value spasi setelah nama parameter. Jika parameter ini digunakan dalam perintah, --configuration-protected-settings-file tidak dapat digunakan dalam perintah yang sama. |
--configuration-protected-settings-file |
Jalur ke file JSON memiliki pasangan nilai kunci yang akan digunakan untuk memasukkan pengaturan sensitif ke ekstensi. Jika parameter ini digunakan dalam perintah, --configuration-protected-settings tidak dapat digunakan dalam perintah yang sama. |
--scope |
Cakupan instalasi untuk ekstensi - cluster atau namespace |
--release-namespace |
Parameter ini menunjukkan namespace tempat rilis akan dibuat. Parameter ini hanya relevan jika parameter scope diatur ke cluster . |
--release-train |
Penulis ekstensi dapat menerbitkan versi di kereta rilis yang berbeda seperti Stable , , Preview dll. Jika parameter ini tidak diatur secara eksplisit, Stable digunakan sebagai default. Parameter ini tidak dapat digunakan jika parameter --auto-upgrade-minor-version diatur ke false . |
--target-namespace |
Parameter ini menunjukkan namespace tempat rilis akan dibuat. Izin akun sistem yang dibuat untuk instansi ekstensi ini akan dibatasi untuk namespace ini. Parameter ini hanya relevan jika parameter scope diatur ke namespace . |
--plan-name |
ID paket ekstensi, ditemukan di halaman Marketplace di portal Azure di bawah Informasi Penggunaan + Dukungan. |
--plan-product |
ID produk ekstensi, ditemukan di halaman Marketplace di portal Azure di bawah Informasi Penggunaan + Dukungan. Contohnya adalah nama penawaran ISV yang digunakan. |
--plan-publisher |
ID penerbit ekstensi, ditemukan di halaman Marketplace di portal Azure di bawah Informasi Penggunaan + Dukungan. |
Tampilkan detail instans ekstensi
Untuk melihat detail instans ekstensi yang saat ini diinstal, gunakan k8s-extension show
, meneruskan nilai untuk parameter wajib.
az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Daftar semua ekstensi yang terinstal pada kluster
Untuk mencantumkan semua ekstensi yang diinstal pada kluster, gunakan k8s-extension list
, meneruskan nilai untuk parameter wajib.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Perbarui instans ekstensi
Catatan
Lihat dokumentasi untuk jenis ekstensi tertentu untuk memahami pengaturan tertentu dan --configuration-protected-settings
yang dapat diperbarui--configuration-settings
. Untuk --configuration-protected-settings
, semua pengaturan diharapkan disediakan, meskipun hanya satu pengaturan yang sedang diperbarui. Jika salah satu pengaturan ini dihilangkan, pengaturan tersebut akan dianggap usang dan dihapus.
Untuk memperbarui instans ekstensi yang ada, gunakan k8s-extension update
, meneruskan nilai untuk parameter wajib. Perintah berikut memperbarui pengaturan peningkatan otomatis untuk instans ekstensi Azure Pembelajaran Mesin:
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Parameter yang diperlukan untuk pembaruan
Nama Parameter | Deskripsi |
---|---|
--name |
Nama instans ekstensi |
--extension-type |
Tipe ekstensi yang ingin Anda instal pada kluster. Contoh: Microsoft.AzureML.Kubernetes |
--cluster-name |
Jenis kluster AKS tempat instans ekstensi harus dibuat |
--resource-group |
Grup sumber daya yang berisi kluster AKS |
--cluster-type |
Jenis kluster tempat instans ekstensi harus dibuat. Tentukan managedClusters saat memetakan ke kluster AKS |
Jika memperbarui aplikasi Kubernetes yang diakui melalui Marketplace, parameter berikut juga diperlukan:
Nama Parameter | Deskripsi |
---|---|
--plan-name |
ID paket ekstensi, ditemukan di halaman Marketplace di portal Azure di bawah Informasi Penggunaan + Dukungan. |
--plan-product |
ID produk ekstensi, ditemukan di halaman Marketplace di portal Azure di bawah Informasi Penggunaan + Dukungan. Contohnya adalah nama penawaran ISV yang digunakan. |
--plan-publisher |
ID penerbit ekstensi, ditemukan di halaman Marketplace di portal Azure di bawah Informasi Penggunaan + Dukungan. |
Parameter opsional untuk pembaruan
Nama Parameter | Deskripsi |
---|---|
--auto-upgrade-minor-version |
Properti Boolean yang menentukan apakah versi minor ekstensi akan ditingkatkan secara otomatis atau tidak. Default: true . Jika parameter ini diatur ke true, Anda tidak dapat mengatur parameter version , karena versi akan diperbarui secara dinamis. Jika diatur ke false , ekstensi tidak akan ditingkatkan secara otomatis bahkan untuk versi patch. |
--version |
Versi ekstensi yang akan diinstal (versi tertentu tempat akan disematkannya instans esktensi). Tidak boleh diberikan jika versi minor peningkatan otomatis diatur ke true . |
--configuration-settings |
Pengaturan yang dapat diteruskan ke ekstensi untuk mengontrol fungsionalitasnya. Hanya pengaturan yang memerlukan pembaruan yang perlu disediakan. Pengaturan yang disediakan akan diganti dengan nilai yang disediakan. Berikan nilai sebagai pasangan yang dipisahkan key=value spasi setelah nama parameter. Jika parameter ini digunakan dalam perintah, --configuration-settings-file tidak dapat digunakan dalam perintah yang sama. |
--configuration-settings-file |
Jalur ke file JSON memiliki pasangan nilai kunci yang akan digunakan untuk memasukkan pengaturan konfigurasi ke ekstensi. Jika parameter ini digunakan dalam perintah, --configuration-settings tidak dapat digunakan dalam perintah yang sama. |
--configuration-protected-settings |
Pengaturan ini tidak dapat diambil kembali menggunakan panggilan API GET atau perintah az k8s-extension show , oleh karenanya digunakan untuk memasukkan pengaturan sensitif. Saat Anda memperbarui pengaturan, semua pengaturan diharapkan ditentukan. Jika beberapa pengaturan dihilangkan, pengaturan tersebut akan dianggap usang dan dihapus. Berikan nilai sebagai pasangan yang dipisahkan key=value spasi setelah nama parameter. Jika parameter ini digunakan dalam perintah, --configuration-protected-settings-file tidak dapat digunakan dalam perintah yang sama. |
--configuration-protected-settings-file |
Jalur ke file JSON memiliki pasangan nilai kunci yang akan digunakan untuk memasukkan pengaturan sensitif ke ekstensi. Jika parameter ini digunakan dalam perintah, --configuration-protected-settings tidak dapat digunakan dalam perintah yang sama. |
--scope |
Cakupan instalasi untuk ekstensi - cluster atau namespace |
--release-train |
Penulis ekstensi dapat menerbitkan versi di kereta rilis yang berbeda seperti Stable , , Preview dll. Jika parameter ini tidak diatur secara eksplisit, Stable digunakan sebagai default. Parameter ini tidak dapat digunakan jika parameter autoUpgradeMinorVersion diatur ke false . |
Hapus instans ekstensi
Untuk menghapus instans ekstensi pada kluster, gunakan k8s-extension-delete
, meneruskan nilai untuk parameter wajib.
az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Catatan
Sumber daya Azure yang mewakili ekstensi ini akan segera dihapus. Rilis Helm pada kluster yang terkait dengan ekstensi ini hanya dihapus ketika agen yang berjalan pada kluster Kube memiliki konektivitas jaringan dan dapat menjangkau layanan Azure lagi untuk mengambil status yang diinginkan.
Langkah berikutnya
- Lihat daftar ekstensi kluster yang saat ini tersedia.
- Pelajari tentang aplikasi Kubernetes yang tersedia melalui Marketplace.
Azure Kubernetes Service