Bandingkan metode penjadwalan node virtual pada kluster ACK managed cluster dan kluster ACK dedicated cluster untuk menyesuaikan dengan skenario penjadwalan Anda.
Skenario penjadwalan node virtual umum
-
Jadwalkan pod hanya ke node virtual.
-
Utamakan node ECS dan alihkan ke node virtual jika sumber daya ECS tidak mencukupi.
Untuk ACK managed cluster (Basic Edition), gunakan label alibabacloud.com/eci=true pada skenario pertama. Untuk skenario kedua, lakukan upgrade ke ACK managed cluster (Pro Edition).
ACK managed cluster (Pro Edition) mendukung skenario kedua dengan keandalan lebih tinggi, jaminan SLA, dan kapasitas yang lebih besar. Anda dapat melakukan migrasi secara mulus dari ACK managed cluster (Basic Edition) ke ACK managed cluster (Pro Edition).
Catatan penggunaan
-
Label
alibabacloud.com/eci=truememiliki prioritas tertinggi dan mengesampingkan metode penjadwalan berikut:-
Semantik penjadwalan native Kubernetes, seperti nodeSelector, afinitas dan anti-afinitas, serta batasan penyebaran topologi pod
-
ResourcePolicy
-
ElasticResource (Annotation:
alibabacloud.com/burst-resource)
-
-
ElasticWorkload dan ElasticResource (Annotation:
alibabacloud.com/burst-resource) tidak disarankan karena berada dalam status pengembangan yang tidak aktif. -
Komponen virtual-kubelet-autoscaler tidak lagi dipelihara. Lakukan upgrade ACK managed cluster (Basic Edition) Anda ke ACK managed cluster (Pro Edition) dan uninstal komponen ini untuk membebaskan sumber daya node. Gunakan semantik penjadwalan native Kubernetes untuk menerapkan penyebaran terdistribusi dan penjadwalan berbasis afinitas untuk pod ECI di berbagai zona.
-
Untuk pod pada node virtual yang menggunakan volume disk yang disediakan secara dinamis, StorageClass bertipe
WaitForFirstConsumertidak didukung dengan metode penjadwalan berikut:-
Menggunakan label:
alibabacloud.com/eci=true. -
Menentukan node virtual dengan nodeName.
-
Perbandingan solusi dan saran pemilihan solusi
Istilah berikut digunakan dalam tabel perbandingan:
-
Penjadwalan berbasis prioritas: Saat kluster memiliki tipe node yang berbeda, konfigurasikan prioritas penjadwalan. Misalnya, utamakan node ECS dan alihkan ke node virtual jika sumber daya ECS tidak mencukupi.
Tanpa penjadwalan berbasis prioritas, Anda tidak dapat menetapkan prioritas lintas tipe node. Sebagai contoh, label
alibabacloud.com/eci=truemenjadwalkan pod hanya ke node virtual tanpa fallback ke ECS terlebih dahulu. -
Kebijakan penjadwalan ketat: Menentukan apakah aturan penjadwalan untuk tipe kelompok node berbeda merupakan kendala wajib.
-
Kebijakan non-ketat adalah kendala lunak. Misalnya, bidang preferredDuringSchedulingIgnoredDuringExecution pada afinitas node mengutamakan node ECS, tetapi pod tetap dapat ditempatkan di node virtual karena kebijakan penilaian node.
-
Kebijakan ketat adalah kendala wajib. Misalnya, ResourcePolicy memastikan pod dijadwalkan ke node ECS saat sumber daya mencukupi.
-
ACK managed cluster (Pro Edition)
|
Metode penjadwalan |
Skenario khas |
Penjadwalan berbasis prioritas |
Utamakan scale-in pod ECI |
Disarankan |
Operasi terkait |
|
|
label: |
Menjadwalkan pod hanya ke node virtual. Anda tidak dapat menargetkan node virtual tertentu. |
Tidak didukung |
N/A |
Disarankan |
||
|
Semantik penjadwalan native Kubernetes |
nodeSelector |
Dengan toleransi, jadwalkan pod hanya ke node virtual dan targetkan node virtual tertentu. |
Tidak didukung |
N/A |
Disarankan |
|
|
Afinitas dan anti-afinitas |
Gunakan Taint, Toleration, dan NodeAffinity untuk menjadwalkan pod hanya ke ECI, hanya ke ECS, atau mengutamakan ECS (misalnya, alihkan ke node virtual ketika sumber daya ECS tidak mencukupi). Metode ini juga mendukung (dan hanya mendukung) scale-in ECI terlebih dahulu, baru kemudian ECS. |
Didukung (kebijakan penjadwalan non-ketat) |
Didukung |
Disarankan |
||
|
Batasan penyebaran topologi pod |
Menyebarluaskan pod di berbagai zona untuk ketersediaan tinggi dan kinerja optimal. |
Tidak didukung |
Didukung |
Disarankan |
Terapkan penyebaran terdistribusi dan penjadwalan berbasis afinitas untuk pod ECI di berbagai zona |
|
|
ResourcePolicy Penting
Pada v1.20, penjadwal mengabaikan pemeriksaan unschedulability untuk node virtual. Pada v1.22 dan versi setelahnya, hanya pemeriksaan taint yang diabaikan. Untuk mempertahankan perilaku v1.20, nonaktifkan kemampuan penjadwalan node virtual dalam parameter penjadwal. |
|
Didukung (kebijakan penjadwalan ketat) |
Didukung |
Disarankan |
Sesuaikan penjadwalan berbasis prioritas untuk sumber daya elastis |
|
|
UnitedDeployment |
Jadwalkan pod ke node ECS atau node virtual berdasarkan jumlah replika. Misalnya, gunakan ECS subscription untuk 10 replika atau kurang, instans preemptible untuk 11–20 replika, dan ECI untuk lebih dari 20 replika. |
Didukung |
Didukung |
Disarankan |
||
|
Semantik penjadwalan native Kubernetes |
nodeSelector |
Dengan toleransi, jadwalkan pod hanya ke node virtual dan targetkan node virtual tertentu. |
Tidak didukung |
Didukung |
Tidak disarankan Dibandingkan dengan ACK managed cluster (Pro Edition), kube-scheduler pada ACK managed cluster (Basic Edition) dan ACK dedicated cluster tidak dapat mendeteksi inventaris dasar selama penjadwalan, sehingga mengurangi kepastian keberhasilan pembuatan pod. |
|
|
Afinitas dan anti-afinitas |
Gunakan Taint, Toleration, dan NodeAffinity untuk menjadwalkan pod hanya ke ECI, hanya ke ECS, atau mengutamakan ECS (misalnya, alihkan ke node virtual ketika sumber daya ECS tidak mencukupi). |
Didukung (kebijakan penjadwalan non-ketat) |
Didukung |
|||
|
Batasan penyebaran topologi pod |
Menyebarluaskan pod di berbagai zona untuk ketersediaan tinggi dan kinerja optimal. |
Tidak didukung |
Didukung |
|||
|
ElasticWorkload (Dalam status pengembangan yang tidak aktif. Kami menyarankan Anda menggunakan UnitedDeployment.) |
Mengelompokkan dan menjadwalkan replika Deployment ke node ECS atau node virtual. |
Didukung |
Didukung |
Tidak disarankan |
Jadwalkan pod workload elastis ke ECI menggunakan Elastic Workload (telah dihentikan) |
|
|
ElasticResource (Annotation: (Dalam status pengembangan yang tidak aktif) |
Hanya mendukung dua kebijakan penjadwalan elastis:
|
Didukung |
Didukung |
Tidak disarankan |
Terapkan penjadwalan elastis berbasis ECI menggunakan ElasticResource (telah dihentikan) |
|
|
Komponen virtual-kubelet-autoscaler (Pemeliharaan telah dihentikan) |
Hanya mendukung penjadwalan pod ke node ECS terlebih dahulu, dan menjadwalkan pod ke node virtual ketika sumber daya node ECS tidak mencukupi. |
Didukung |
Didukung |
Tidak disarankan |
None |
|