Dalam kluster Kubernetes, penjadwalan mengacu pada proses di mana komponen penjadwal bernama kube-scheduler menjadwalkan pod ke node berdasarkan total sumber daya kluster. Kluster Alibaba Cloud Container Compute Service (ACS) menyediakan sumber daya dalam bentuk node virtual, sehingga Anda tidak perlu mempertimbangkan kebijakan alokasi sumber daya yang kompleks dan dapat fokus pada aturan orkestrasi aplikasi. Topik ini menjelaskan penggunaan serta tindakan pencegahan untuk kebijakan penjadwalan umum dalam kluster ACS.
Kebijakan penjadwalan asli Kubernetes
Penjadwal asli Kubernetes menyediakan berbagai Plugin penjadwalan. Pada node virtual ACS, Anda dapat fokus pada kebijakan terkait afinitas untuk memastikan performa aplikasi dan ketersediaan tinggi, termasuk penggunaan batasan distribusi topologi guna mendistribusikan pod di seluruh zona, afinitas node, dan afinitas antar-pod.
Kebijakan | Deskripsi | Referensi |
Gunakan batasan distribusi topologi untuk mendistribusikan pod di seluruh zona | Anda dapat menentukan label untuk node virtual di bidang TopologyKey untuk mendistribusikan beban kerja di seluruh zona. | Gunakan batasan distribusi topologi untuk mendistribusikan pod di seluruh zona |
Afinitas Node | Label ditambahkan ke node virtual untuk menunjukkan berbagai atribut node, seperti zona. Dengan menggambarkan persyaratan afinitas di bidang-bidang seperti nodeSelector, Anda dapat menjalankan aplikasi Anda di node virtual dengan atribut tertentu. | |
Afinitas Antar-Pod | Kebijakan ini digunakan untuk mengekspresikan preferensi afinitas antara pod. Dibandingkan dengan afinitas node, kebijakan ini membatasi node tempat pod dapat dijadwalkan berdasarkan label pod yang sudah berjalan di node. Anda dapat menjadwalkan pod ke domain topologi tertentu dengan menggambarkan persyaratan afinitas di bidang seperti podAffinity. |
Penjadwalan sumber daya berdasarkan prioritas kustom
Kebijakan | Deskripsi | Skenario | Referensi |
Penjadwalan sumber daya berdasarkan prioritas kustom | Anda dapat menentukan beberapa kelas komputasi atau kelas QoS komputasi untuk pod yang ingin Anda buat. Saat sumber daya habis, penjadwal mencoba membuat pod dari jenis lain. | Prioritaskan penggunaan jenis aplikasi tertentu. Misalnya, pekerjaan komputasi mungkin lebih memilih menggunakan instans best-effort yang lebih hemat biaya. |
Penjadwalan Pekerjaan
Dalam kluster Kubernetes, aplikasi yang menjalankan pekerjaan memiliki beragam persyaratan sumber daya. Sebagai contoh, pekerjaan pelatihan AI memerlukan sekelompok pod untuk mengajukan permintaan sumber daya secara bersamaan. Dalam kluster dengan banyak aplikasi yang diterapkan, manajemen kapasitas sumber daya juga penting. ACS menyediakan kebijakan penjadwalan berikut untuk aplikasi yang menjalankan pekerjaan.
Kebijakan | Deskripsi | Skenario | Referensi |
Penjadwalan Kelompok | Sumber daya harus dialokasikan ke sekelompok pod sebagai satu batch untuk memastikan bahwa semua pod dapat meminta sumber daya secara bersamaan. Jika persyaratan penjadwalan tidak terpenuhi, semua pod tetap dalam status Pending. | Komputasi kinerja tinggi dan pekerjaan pelatihan AI, seperti pekerjaan Message Passing Interface (MPI). Aplikasi hanya dapat berjalan jika Anda memulai semua replika. | |
Penjadwalan Kapasitas | Kebijakan ini memungkinkan kluster ACS memberlakukan batasan kapasitas sumber daya untuk namespace tertentu. | Jika beberapa pengguna atau aplikasi berbagi kluster yang sama, Anda harus membatasi penggunaan sumber daya berdasarkan namespace. |