Membuat kumpulan simpul untuk kluster di Azure Kubernetes Service (AKS)
Di Azure Kubernetes Service (AKS), simpul dengan konfigurasi yang sama dikelompokkan bersama ke dalam kumpulan simpul. Kumpulan simpul ini berisi VM dasar yang menjalankan aplikasi Anda. Saat membuat kluster AKS, Anda menentukan jumlah awal simpul dan ukurannya (SKU), yang membuat kumpulan simpul sistem.
Untuk mendukung aplikasi yang memiliki permintaan komputasi atau penyimpanan yang berbeda, Anda dapat membuat kumpulan simpul pengguna. Kumpulan simpul sistem melayani tujuan utama untuk menghosting pod sistem penting seperti CoreDNS dan konnectivity
. Kumpulan simpul pengguna melayani tujuan utama hosting Pod aplikasi Anda. Misalnya, gunakan lebih banyak kumpulan simpul pengguna untuk menyediakan GPU untuk aplikasi intensif komputasi, atau akses ke penyimpanan SSD berkinerja tinggi. Namun, jika Anda hanya ingin memiliki satu kumpulan di kluster AKS, Anda dapat menjadwalkan pod aplikasi pada kumpulan simpul sistem.
Catatan
Fitur ini memungkinkan kontrol lebih atas pembuatan dan pengelolaan beberapa kumpulan simpul dan memerlukan perintah terpisah untuk operasi buat/perbarui/hapus (CRUD). Sebelumnya, operasi kluster melalui az aks create
atau az aks update
menggunakan API managedCluster dan merupakan satu-satunya opsi untuk mengubah sarana kontrol Anda dan satu kumpulan simpul. Fitur ini mengekspos operasi terpisah yang ditetapkan untuk kumpulan agen melalui AGENTPool API dan memerlukan penggunaan az aks nodepool
set perintah untuk menjalankan operasi pada kumpulan simpul individual.
Artikel ini memperlihatkan kepada Anda cara membuat satu atau beberapa kumpulan simpul di kluster AKS.
Sebelum Anda mulai
- Anda memerlukan Azure CLI versi 2.2.0 atau yang lebih baru terpasang dan terkonfigurasi. Jalankan
az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI. - Tinjau opsi Penyimpanan untuk aplikasi di Azure Kubernetes Service untuk merencanakan konfigurasi penyimpanan Anda.
Batasan
Batasan berikut berlaku saat Anda membuat kluster AKS yang mendukung beberapa kumpulan simpul:
- Lihat Kuota, pembatasan komputer virtual, dan ketersediaan wilayah di Azure Kubernetes Service (AKS).
- Anda dapat menghapus kumpulan simpul sistem jika Anda memiliki kumpulan simpul sistem lain untuk menggantikannya di kluster AKS. Jika tidak, Anda tidak dapat menghapus kumpulan simpul sistem.
- Kumpulan sistem harus berisi setidaknya satu simpul, dan kumpulan simpul pengguna dapat berisi nol simpul atau lebih.
- Kluster AKS harus menggunakan load balancer SKU Standar untuk menggunakan beberapa kumpulan simpul. Fitur ini tidak didukung dengan load balancer SKU Dasar.
- Kluster AKS harus menggunakan Virtual Machine Scale Sets untuk simpul.
- Nama kumpulan simpul hanya boleh berisi karakter alfanumerik huruf kecil dan harus dimulai dengan huruf kecil.
- Untuk kumpulan simpul Linux, panjangnya harus antara 1-12 karakter.
- Untuk kumpulan simpul Windows, panjangnya harus antara 1-6 karakter.
- Semua kumpulan simpul harus berada di jaringan virtual yang sama.
- Saat Anda membuat beberapa kumpulan simpul pada waktu pembuatan kluster, versi Kubernetes untuk kumpulan simpul harus cocok dengan versi yang ditetapkan untuk sarana kontrol.
Membuat kluster AKS
Penting
Jika Anda menjalankan satu kumpulan simpul sistem untuk kluster AKS Anda di lingkungan produksi, kami sarankan Anda menggunakan setidaknya tiga sumpul untuk kumpulan simpul tersebut. Jika satu simpul turun, Anda kehilangan sumber daya sarana kontrol dan redundansi disusupi. Anda dapat mengurangi risiko ini dengan memiliki lebih banyak simpul sarana kontrol.
Buat grup sumber daya Azure menggunakan
az group create
perintah .az group create --name $RESOURCE_GROUP_NAME --location $LOCATION
Buat kluster AKS dengan kumpulan simpul tunggal menggunakan
az aks create
perintah .az aks create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CLUSTER_NAME \ --vm-set-type VirtualMachineScaleSets \ --node-count 2 \ --location $LOCATION \ --load-balancer-sku standard \ --generate-ssh-keys
Perlu waktu beberapa menit untuk membuat kluster tersebut.
Ketika kluster siap, dapatkan kredensial kluster menggunakan
az aks get-credentials
perintah .az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
Menambahkan kumpulan simpul
Kluster yang dibuat pada langkah sebelumnya memiliki satu kumpulan simpul. Di bagian ini, kami menambahkan kumpulan simpul kedua ke kluster.
Buat kumpulan simpul baru menggunakan
az aks nodepool add
perintah . Contoh berikut membuat kumpulan simpul bernama mynodepool yang menjalankan tiga simpul:az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3
Periksa status kumpulan simpul Anda menggunakan
az aks node pool list
perintah dan tentukan grup sumber daya dan nama kluster Anda.az aks nodepool list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
Contoh output berikut menunjukkan mynodepool telah berhasil dibuat dengan tiga simpul. Ketika kluster AKS dibuat pada langkah sebelumnya, nodepool1 default dibuat dengan jumlah simpul 2.
[ { ... "count": 3, ... "name": "mynodepool", "orchestratorVersion": "1.15.7", ... "vmSize": "Standard_DS2_v2", ... }, { ... "count": 2, ... "name": "nodepool1", "orchestratorVersion": "1.15.7", ... "vmSize": "Standard_DS2_v2", ... } ]
Kumpulan simpul ARM64
Prosesor ARM64 menyediakan komputasi daya rendah untuk beban kerja Kubernetes Anda. Untuk membuat kumpulan simpul ARM64, Anda perlu memilih Komputer Virtual seri Dpsv5, Dplsv5 , atau Epsv5 .
Batasan
- Kumpulan simpul ARM64 tidak didukung pada kluster berkemampuan Defender dengan Kubernetes versi kurang dari 1.29.0.
- Kumpulan simpul yang diaktifkan FIPS tidak didukung dengan SKU ARM64.
- Kumpulan simpul Windows tidak didukung dengan SKU ARM64.
Menambahkan kumpulan node ARM64
Tambahkan kumpulan simpul ARM64 ke kluster yang ada menggunakan
az aks nodepool add
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $ARM_NODE_POOL_NAME \ --node-count 3 \ --node-vm-size Standard_D2pds_v5
Kumpulan simpul Azure Linux
Host kontainer Azure Linux untuk AKS adalah distribusi Linux sumber terbuka yang tersedia sebagai host kontainer AKS. Ini memberikan keandalan, keamanan, dan konsistensi yang tinggi. Ini hanya mencakup serangkaian paket minimal yang diperlukan untuk menjalankan beban kerja kontainer, yang meningkatkan waktu boot dan performa keseluruhan.
Menambahkan kumpulan simpul Azure Linux
Tambahkan kumpulan simpul Azure Linux ke kluster yang ada menggunakan
az aks nodepool add
perintah dan tentukan--os-sku AzureLinux
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $AZ_LINUX_NODE_POOL_NAME \ --os-sku AzureLinux
Memigrasikan simpul Ubuntu ke simpul Azure Linux
Anda dapat memigrasikan simpul Ubuntu yang ada ke Azure Linux menggunakan salah satu metode berikut:
- Hapus kumpulan simpul yang ada dan tambahkan kumpulan simpul Azure Linux baru.
- Migrasi SKU OS di tempat.
Kumpulan simpul dengan subnet unik
Beban kerja mungkin memerlukan pemisahan node kluster menjadi kumpulan terpisah untuk isolasi logis. Subnet terpisah yang didedikasikan untuk setiap kumpulan simpul dalam kluster dapat membantu mendukung isolasi ini, yang dapat mengatasi persyaratan seperti memiliki ruang alamat jaringan virtual yang tidak bersebelahan untuk dibagi di seluruh kumpulan simpul.
Catatan
Pastikan untuk menggunakan versi Azure CLI atau yang lebih 2.35.0
baru.
Batasan
- Semua subnet yang ditetapkan ke kumpulan node harus dimiliki oleh jaringan virtual yang sama.
- Pod sistem harus memiliki akses ke semua simpul dan pod dalam kluster untuk menyediakan fungsionalitas penting, seperti resolusi DNS dan penerowongan log kubectl/exec/port-forward proxy.
- Jika Anda memperluas VNET setelah membuat kluster, Anda harus memperbarui kluster sebelum menambahkan subnet di luar blok CIDR asli. Meskipun kesalahan AKS-out pada kumpulan agen menambahkan,
aks-preview
ekstensi Azure CLI (versi 0.5.66 dan yang lebih tinggi) sekarang mendukungaz aks update
menjalankan perintah hanya dengan argumen yang diperlukan-g <resourceGroup> -n <clusterName>
. Perintah ini melakukan operasi pembaruan tanpa membuat perubahan apa pun, yang dapat memulihkan kluster yang macet dalam keadaan gagal. - Dalam kluster dengan versi Kubernetes kurang dari 1.23.3, lalu lintas SNAT kube-proxy dari subnet baru, yang dapat menyebabkan Azure Network Policy menjatuhkan paket.
- Simpul Windows lalu lintas SNAT ke subnet baru hingga kumpulan simpul digambarkan ulang.
- Load balancer internal default ke salah satu subnet kumpulan simpul.
Menambahkan kumpulan simpul dengan subnet unik
Tambahkan kumpulan simpul dengan subnet unik ke dalam kluster yang ada menggunakan
az aks nodepool add
perintah dan tentukan--vnet-subnet-id
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3 \ --vnet-subnet-id $SUBNET_RESOURCE_ID
Kumpulan simpul berkemampuan FIPS
Untuk informasi selengkapnya tentang mengaktifkan Federal Information Process Standard (FIPS) untuk kluster AKS Anda, lihat Mengaktifkan Federal Information Process Standard (FIPS) untuk kumpulan node Azure Kubernetes Service (AKS).
Kumpulan simpul Windows Server dengan containerd
Dimulai di Kubernetes versi 1.20 dan yang lebih tinggi, Anda dapat menentukan containerd
sebagai runtime kontainer untuk kumpulan simpul Windows Server 2019. Dimulai dengan Kubernetes 1.23, containerd
adalah runtime kontainer default dan hanya untuk Windows.
Penting
Saat menggunakan containerd
dengan kumpulan simpul Windows Server 2019:
- Baik sarana kontrol maupun kumpulan simpul Windows Server 2019 harus menggunakan Kubernetes versi 1.20 atau versi yang lebih tinggi.
- Saat Anda membuat atau memperbarui kumpulan simpul untuk menjalankan kontainer Windows Server, nilai default untuk
--node-vm-size
adalah Standard_D2s_v3, yang merupakan ukuran minimum yang direkomendasikan untuk kumpulan simpul Windows Server 2019 sebelum Kubernetes versi 1.20. Ukuran minimum yang disarankan untuk kumpulan simpul Windows Server 2019 menggunakancontainerd
adalah Standard_D4s_v3. Saat mengatur--node-vm-size
parameter, periksa daftar ukuran VM terbatas. - Sebaiknya gunakan taint atau label dengan kumpulan simpul Windows Server 2019 yang berjalan
containerd
dan toleransi atau pemilih simpul dengan penyebaran Anda untuk menjamin beban kerja Anda dijadwalkan dengan benar.
Menambahkan kumpulan node Server Windows dengancontainerd
Tambahkan kumpulan simpul Windows Server dengan
containerd
ke dalam kluster yang ada menggunakanaz aks nodepool add
.Catatan
Jika Anda tidak menentukan
WindowsContainerRuntime=containerd
header kustom, kumpulan simpul masih menggunakancontainerd
sebagai runtime kontainer secara default.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --os-type Windows \ --name $CONTAINER_D_NODE_POOL_NAME \ --node-vm-size Standard_D4s_v3 \ --kubernetes-version 1.20.5 \ --aks-custom-headers WindowsContainerRuntime=containerd \ --node-count 1
Tingkatkan kumpulan simpul Windows Server tertentu yang ada ke containerd
Tingkatkan kumpulan simpul tertentu dari Docker ke
containerd
menggunakanaz aks nodepool upgrade
perintah .az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $CONTAINER_D_NODE_POOL_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
Tingkatkan semua kumpulan simpul Windows Server yang ada ke containerd
Tingkatkan semua kumpulan simpul dari Docker ke
containerd
menggunakanaz aks nodepool upgrade
perintah .az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
Kumpulan simpul dengan disk OS Ephemeral
Tambahkan kumpulan simpul yang menggunakan disk OS Ephemeral ke kluster yang ada menggunakan
az aks nodepool add
perintah dengan bendera yang--node-osdisk-type
diatur keEphemeral
.Catatan
- Anda dapat menentukan disk OS Sementara selama pembuatan kluster menggunakan
--node-osdisk-type
bendera denganaz aks create
perintah . - Jika Anda ingin membuat kumpulan simpul dengan disk OS yang terpasang pada jaringan, Anda dapat melakukannya dengan menentukan
--node-osdisk-type Managed
.
az aks nodepool add --name $EPHEMERAL_NODE_POOL_NAME --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME -s Standard_DS3_v2 --node-osdisk-type Ephemeral
- Anda dapat menentukan disk OS Sementara selama pembuatan kluster menggunakan
Penting
Dengan OS Ephemeral, Anda dapat menyebarkan VM dan gambar instans hingga ukuran cache VM. Konfigurasi disk OS simpul default di AKS menggunakan 128 GB, yang berarti Anda memerlukan ukuran VM yang memiliki cache yang lebih besar dari 128 GB. Standard_DS2_v2 default memiliki ukuran cache 86 GB, yang tidak cukup besar. SKU VM Standard_DS3_v2 memiliki ukuran cache 172 GB, yang cukup besar. Anda juga dapat mengurangi ukuran default disk OS dengan menggunakan --node-osdisk-size
, tetapi perlu diingat ukuran minimum untuk gambar AKS adalah 30 GB.
Menghapus kumpulan simpul
Jika Anda tidak lagi memerlukan kumpulan simpul, Anda dapat menghapusnya dan menghapus simpul VM yang mendasar.
Perhatian
Saat Anda menghapus kumpulan node, AKS tidak melakukan penjagaan dan pengurasan, dan tidak ada opsi pemulihan untuk kehilangan data yang mungkin terjadi saat Anda menghapus kumpulan node. Jika Pod tidak dapat dijadwalkan pada kumpulan simpul lain, aplikasi tersebut tidak tersedia. Pastikan Anda tidak menghapus kumpulan simpul saat aplikasi yang digunakan tidak memiliki cadangan data atau kemampuan untuk beroperasi pada kumpulan simpul lain di kluster Anda. Untuk meminimalkan gangguan penjadwalan ulang pod yang saat ini berjalan pada kumpulan simpul yang ingin Anda hapus, lakukan cordon dan pengurasan pada semua simpul di kumpulan simpul sebelum menghapus.
Hapus kumpulan simpul menggunakan
az aks nodepool delete
perintah dan tentukan nama kumpulan simpul.az aks nodepool delete --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --no-wait
Dibutuhkan beberapa menit untuk menghapus simpul dan kumpulan simpul.
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara membuat beberapa kumpulan simpul dalam kluster AKS. Untuk mempelajari tentang cara mengelola beberapa kumpulan simpul, lihat Mengelola beberapa kumpulan simpul untuk kluster di Azure Kubernetes Service (AKS).
Azure Kubernetes Service