kube-scheduler is a control plane component that assigns pods to nodes. It evaluates each pod's resource requests against each node's Allocatable capacity, then selects the best-fit node using a two-phase pipeline: filtering out ineligible nodes, then ranking the remaining candidates.
How it works
kube-scheduler processes pods in a scheduling queue. For each pod, it reads the pod's declared resource requests and the node's Allocatable property to identify valid nodes, scores all valid nodes, and binds the pod to the highest-scoring one. By default, kube-scheduler distributes pods evenly based on their resource requests.
For the full upstream specification, see kube-scheduler in the Kubernetes documentation.
Filter and Score plugins
Scheduling runs in two phases:
Filter — each Filter plugin eliminates nodes that cannot run the pod. A node must pass all Filter plugins to remain a candidate.
Score — each Score plugin assigns a score to each remaining node. The final node score is the sum of
plugin_score × plugin_weightacross all Score plugins.
Weight dominance: Two ACK plugins — elasticresource and resourcepolicy — each have a default weight of 1,000,000. When either is active, its score effectively determines the outcome, making the contributions of other plugins negligible. The next-highest weights are gpushare (20,000) and PreferredNode (10,000). Keep this in mind when configuring workloads that use elastic scaling or node pool priority routing.
The table below lists the default-enabled plugins for each kube-scheduler version. Open-source plugins follow upstream defaults; ACK-specific plugins are listed explicitly.
Default enabled plugins by version
| Component version | Filter plugins | Score plugins |
|---|---|---|
| v1.30.1-aliyun.6.5.4.fcac2bdf | Open-source plugins: same as upstream. See v1.30.1 default Filter plugins.<br><br>ACK plugins: NodeNUMAResource, topologymanager, EciPodTopologySpread, ipawarescheduling, BatchResourceFit, PreferredNode, gpushare, NetworkTopology, CapacityScheduling, elasticresource, resourcepolicy, gputopology, ECIBinderV1, loadawarescheduling, EciScheduling | Open-source plugins: same as upstream. See v1.30.1 default Score plugins.<br><br>ACK plugins and default weights: NodeNUMAResource (1), ipawarescheduling (1), gpuNUMAJointAllocation (1), PreferredNode (10,000), gpushare (20,000), gputopology (1), numa (1), EciScheduling (2), NodeAffinity (2), elasticresource (1,000,000), resourcepolicy (1,000,000), NodeBEResourceLeastAllocated (1), loadawarescheduling (10) |
| v1.28.3-aliyun-6.5.2.7ff57682 | Open-source plugins: same as upstream. See v1.28.3 default Filter plugins.<br><br>ACK plugins: NodeNUMAResource, topologymanager, EciPodTopologySpread, ipawarescheduling, BatchResourceFit, PreferredNode, gpushare, NetworkTopology, CapacityScheduling, elasticresource, resourcepolicy, gputopology, ECIBinderV1, loadawarescheduling, EciScheduling | Open-source plugins: same as upstream. See v1.28.3 default Score plugins.<br><br>ACK plugins and default weights: NodeNUMAResource (1), ipawarescheduling (1), gpuNUMAJointAllocation (1), PreferredNode (10,000), gpushare (20,000), gputopology (1), numa (1), EciScheduling (2), NodeAffinity (2), elasticresource (1,000,000), resourcepolicy (1,000,000), NodeBEResourceLeastAllocated (1), loadawarescheduling (10) |
| v1.26.3-aliyun-6.6.1.605b8a4f | Open-source plugins: same as upstream. See v1.26.3 default Filter plugins.<br><br>ACK plugins: NodeNUMAResource, topologymanager, EciPodTopologySpread, ipawarescheduling, BatchResourceFit, PreferredNode, gpushare, NetworkTopology, CapacityScheduling, elasticresource, resourcepolicy, gputopology, ECIBinderV1, loadawarescheduling, EciScheduling | Open-source plugins: same as upstream. See v1.26.3 default Score plugins.<br><br>ACK plugins and default weights: NodeNUMAResource (1), ipawarescheduling (1), gpuNUMAJointAllocation (1), PreferredNode (10,000), gpushare (20,000), gputopology (1), numa (1), EciScheduling (2), NodeAffinity (2), elasticresource (1,000,000), resourcepolicy (1,000,000), NodeBEResourceLeastAllocated (1), loadawarescheduling (10) |
Plugin descriptions
| Plugin | What it does | When to use it | Related documentation |
|---|---|---|---|
| NodeNUMAResource | Schedules CPU-intensive workloads with NUMA topology awareness, so pods land on nodes where CPUs share the same memory bus. | Latency-sensitive workloads that benefit from CPU locality — such as real-time data processing or HPC (High-Performance Computing) jobs. | Enable CPU topology-aware scheduling |
| topologymanager | Allocates NUMA node resources to pods that request co-located CPU and memory, ensuring consistent memory bandwidth. | Workloads that require memory bandwidth consistency, such as AI inference or in-memory databases. | Enable NUMA topology-aware scheduling |
| EciPodTopologySpread | Extends topology spread constraints for virtual node scheduling, distributing pods across availability zones when using Elastic Container Instance (ECI) virtual nodes. | Balancing pod distribution across availability zones in ECI virtual node deployments. | Enable virtual node scheduling policies for a cluster |
| ipawarescheduling | Filters out nodes with insufficient remaining IP addresses in the VPC (Virtual Private Cloud) subnet, preventing pod startup failures from IP exhaustion. | VPC subnets with limited IP ranges where IP exhaustion is a risk. | Scheduling FAQ |
| BatchResourceFit | Enables colocation of multiple workload types on the same node, improving overall cluster utilization. | Mixed online and offline workload environments where you want to maximize node utilization. | Best practices for colocation of multi-type workloads |
| PreferredNode | Reserves nodes for node pools with auto scaling enabled, preventing regular pods from occupying capacity intended for elastic scale-out. | Clusters with auto scaling node pools where node reservation is needed. | Node auto scaling |
| gpushare | Schedules pods that share a single GPU card across multiple workloads. Default weight: 20,000. | Multiple inference tasks or lightweight GPU jobs that do not need exclusive GPU allocation. | Shared GPU scheduling |
| NetworkTopology | Schedules pods with awareness of physical network topology, placing distributed workload components on nodes with optimal interconnects. | Distributed AI training jobs where inter-node network bandwidth significantly affects performance. | Topology-aware scheduling |
| CapacityScheduling | Enforces elastic quota limits across namespaces, guaranteeing minimum resources and capping maximum usage per team. | Multi-tenant clusters where multiple teams share capacity and need resource isolation. | Use Capacity Scheduling |
| elasticresource | [Discontinued] Managed ECI elastic scheduling. Use resourcepolicy for new deployments. | — | Use ElasticResource to implement ECI elastic scheduling (discontinued) |
| resourcepolicy | Schedules pods across node pools in priority order, with elastic overflow to ECI when Elastic Compute Service (ECS) capacity is insufficient. Default weight: 1,000,000 — dominates node selection when active. | Workloads that should prefer ECS nodes but burst to ECI when ECS capacity runs out. | Priority-based scheduling of custom elastic resources |
| gputopology | Schedules multi-GPU workloads to nodes where the required GPUs are connected with optimal interconnects such as NVLink, maximizing GPU-to-GPU bandwidth. | Large-scale distributed training that requires high GPU-to-GPU bandwidth. | GPU topology-aware scheduling |
| ECIBinderV1 | Handles the binding phase for pods that target ECI capacity in elastic scheduling scenarios. | ECI elastic scheduling deployments — works alongside EciScheduling. | Schedule pods to ECI |
| loadawarescheduling | Distributes pods based on real-time CPU and memory utilization rather than declared requests, avoiding hot spots on over-utilized nodes. | Bursty or over-provisioned workloads where declared requests do not reflect actual usage. | Use load-aware scheduling |
| EciScheduling | Manages virtual node selection for pods targeting ECI. Works alongside ECIBinderV1 to route pods through the ECI scheduling path. | ECI elastic scheduling deployments. | Enable virtual node scheduling policies for a cluster |
Upgrade the component
kube-scheduler is installed by default and requires no configuration. Keep it up to date to get the latest scheduling optimizations and bug fixes.
To upgrade kube-scheduler, log on to the ACK console, click the target cluster, then navigate to Operations Management > Component Management.Container Service for Kubernetes (ACK) console
Change history
Version 1.34 change history
| Version | Release date | Changes |
|---|---|---|
| v1.34.0-apsara.6.11.8.a32868e8 | January 5, 2026 | New features: Optimized shared GPU scheduling efficiency. Added metrics for serverless resource scheduling — processing latency, timestamp tracking, and concurrent configurations — to improve observability of serverless workloads. Bug fixes: Fixed GPUShare pod annotation updates in the Reserve phase to ensure correct persistence of scheduling results. Fixed incorrect NUMA ID removal. Fixed a post-restart failure to reconstruct NUMA allocation results from pod annotations, which caused uneven resource allocation. Fixed an issue where NominatedNodeName was not cleared under specific conditions such as out-of-stock or concurrent preemption. Fixed an issue where resources for pods with a NominatedNodeName were not reserved by quota when Reservation was disabled. Fixed gang-scheduling behavior so that a gang fails as a whole when preemption fails, preventing multiple invalid scheduling attempts for multi-replica jobs. Fixed a preemption failure in NetworkTopology caused by incorrect StateData and Filter object calls. Fixed a scheduling issue with self-built Virtual Kubelets that have GPUs. Fixed a scheduling issue when multiple containers in a pod request a full GPU card. Optimized ElasticQuota Min/Max Guarantee logic so that a quota exceeding its Min value can only preempt itself after scheduling. |
| v1.34.0-apsara.6.11.7.43cab345 | December 8, 2025 | New features: Network topology-aware scheduling now supports EP size scheduling. For PyTorchJob, pods are automatically placed contiguously based on their index. Bug fixes: Improved auto scaling efficiency. The scheduler no longer updates the Pod Scheduled condition when an ACS pod scheduling is triggered, preventing unintended node pool scale-out. Fixed a post-restart failure to read ACS GPU partitions of scheduled pods. |
| v1.34.0-apsara.6.11.6.3c0b732b | November 10, 2025 | New features: Added support for __IGNORE__RESOURCE__. Added support for the alibabacloud.com/schedule-admission annotation to mark a pod as temporarily unschedulable. Added support for ACS shared GPU. Optimized PersistentVolumeClaim (PVC) scheduling to speed up pod creation with disks. Fixed incorrect ScheduleCycle updates when ResourcePolicy and Gang are used together. Bug fixes: Fixed a memory leak in remaining IP-aware scheduling. Fixed a statistics error when CapacityScheduling quota is updated before a pod is bound. |
| v1.34.0-apsara.6.11.5.3c117f21 | October 23, 2025 | Bug fixes: Fixed an issue where the alibabacloud.com/acs: "true" or alibabacloud.com/eci: "true" label did not take effect. Fixed a scheduling issue when multiple containers in a pod request nvidia.com/gpu. Fixed a potential scheduler crash under high-concurrency ACS compute requests. |
| v1.34.0-apsara.6.11.3.ff6b62d8 | September 17, 2025 | Initial support for all previous features in ACK clusters of version 1.34. |
Version 1.33 change history
| Version | Release date | Changes |
|---|---|---|
| v1.33.0-apsara.6.11.8.709bb6e6 | January 5, 2026 | New features: Optimized shared GPU scheduling efficiency. Added metrics for serverless resource scheduling — processing latency, timestamp tracking, and concurrent configurations — to improve observability. Bug fixes: Fixed GPUShare pod annotation updates in the Reserve phase. Fixed incorrect NUMA ID removal. Fixed post-restart NUMA allocation reconstruction failure. Fixed NominatedNodeName not being cleared under out-of-stock or concurrent preemption conditions. Fixed resources for pods with NominatedNodeName not being reserved by quota when Reservation was disabled. Fixed gang-scheduling failure behavior to prevent multiple invalid scheduling attempts. Fixed a NetworkTopology preemption failure caused by incorrect StateData and Filter object calls. Fixed scheduling issues with self-built GPU Virtual Kubelets and multiple containers requesting a full GPU card. Optimized ElasticQuota Min/Max Guarantee logic. |
| v1.33.0-apsara.6.11.7.4a6779f8 | December 5, 2025 | New features: Network topology-aware scheduling now supports EP size scheduling; PyTorchJob pods are placed contiguously by index. Bug fixes: Improved auto scaling efficiency. The scheduler no longer updates the Pod Scheduled condition when an ACS instance is created, preventing node pool scale-out. Fixed post-restart failure to read ACS GPU partitions. Fixed an issue where a pod with a PVC that had a SelectedNode could not be scheduled. |
| v1.33.0-apsara.6.11.6.2fce98cb | November 10, 2025 | New features: Added support for __IGNORE__RESOURCE__. Added support for the alibabacloud.com/schedule-admission annotation. Added support for ACS shared GPU. Optimized PVC scheduling to speed up pod creation with disks. Fixed incorrect ScheduleCycle updates when ResourcePolicy and Gang are used together. Bug fixes: Fixed a memory leak in remaining IP-aware scheduling. Fixed a statistics error when CapacityScheduling quota is updated before a pod is bound. |
| v1.33.0-apsara.6.11.5.8dd6f5f4 | October 23, 2025 | Bug fixes: Fixed an issue where the alibabacloud.com/acs: "true" or alibabacloud.com/eci: "true" label did not take effect. |
| v1.33.0-apsara.6.11.4.77470105 | September 15, 2025 | Bug fixes: Fixed a scheduling issue when multiple containers in a pod request nvidia.com/gpu. Fixed a potential scheduler crash under high-concurrency ACS compute requests. |
| v1.33.0-apsara.6.11.3.ed953a31 | September 8, 2025 | New features: ElasticQuotaTree now supports the alibabacloud.com/ignore-empty-resource annotation to ignore undeclared resource limits in a quota. NetworkTopology now supports declaring discretized distribution via a constraint in JobNetworkTopology. Bug fixes: Fixed a potential scheduler crash when PodTopologySpread was in use. |
| v1.33.0-aliyun.6.11.2.330dcea7 | August 19, 2025 | Improved GOAT scheduling determinism to avoid treating nodes as not ready when node.cloudprovider.kubernetes.io/uninitialized and node.kubernetes.io/unschedulable taints are present. Fixed an ElasticQuotaTree fairness check that incorrectly marked quotas with an empty Min value or empty Request as unmet. Fixed a potential scheduler crash when creating ACS instances. Fixed a scheduler error when an init container's resources were empty (29d1951). |
| v1.33.0-aliyun.6.11.1.382cd0a6 | July 25, 2025 | Fixed an issue where using ElasticResource to implement ECI elastic scheduling (discontinued) did not take effect. |
| v1.33.0-aliyun.6.11.0.87e9673b | July 18, 2025 | Improved GOAT scheduling determinism to handle concurrent NodeReady state changes during pod scheduling. Fixed incorrect gang pod count when a PodGroup CR is deleted and recreated while scheduled pods exist. Fixed ElasticQuota preemption to prevent pods with the same policy from being preempted and to prevent intra-quota preemption when usage is below the Min value. Fixed remaining IP-aware scheduling to correctly block scheduling to nodes with insufficient IP addresses. Fixed TimeoutOrExceedMax and ExceedMax ResourcePolicy policies that were broken since version 6.9.x. Fixed incorrect MaxPod calculation after elastic scaling in ResourcePolicy. Added a scheduling fairness check to ElasticQuotaTree: when a quota with unmet requirements has pending pods, no new pods are scheduled for quotas that already meet their guarantees. Enable this with the StrictFairness parameter (on by default when the preemption algorithm is None). Added the ScheduleAdmission feature: pods with the alibabacloud.com/schedule-admission annotation are not scheduled. Added support for pods with alibabacloud.com/eci=true, alibabacloud.com/acs=true, and eci=true labels — the scheduler checks only volume and virtual node plugins for these pods and skips all other checks when no PVC mount is present. Added a ResourcePolicy security check: units are skipped if patching pod labels could affect a ReplicaSet or StatefulSet's MatchLabels. |
| v1.33.0-aliyun.6.9.4.8b58e6b4 | June 10, 2025 | Fixed InterPodAffinity and PodTopologySpread becoming invalid during continuous pod scheduling. Fixed occasional scheduling anomalies with ResourcePolicy. Improved scheduler interaction with auto-scaling node pools. Fixed incorrect pod count in ResourcePolicy for priority-based elastic resource scheduling. Fixed a potential cloud disk leak when using WaitForFirstConsumer disks with serverless compute. |
| v1.33.0-aliyun.6.9.2.09bce458 | April 28, 2025 | Initial support for all previous features in ACK clusters of version 1.33. |
Version 1.32 change history
| Version | Release date | Changes |
|---|---|---|
| v1.32.0-apsara.6.11.8.df9f2fa6 | January 5, 2026 | New features: Optimized shared GPU scheduling efficiency. Added serverless resource scheduling metrics for improved observability. Bug fixes: Fixed GPUShare pod annotation updates in the Reserve phase. Fixed incorrect NUMA ID removal. Fixed post-restart NUMA allocation reconstruction failure. Fixed NominatedNodeName clearance and quota reservation issues. Fixed gang-scheduling failure behavior. Fixed a NetworkTopology preemption failure. Fixed scheduling issues with self-built GPU Virtual Kubelets and multi-container full GPU requests. Optimized ElasticQuota Min/Max Guarantee logic. |
| v1.32.0-apsara.6.11.7.4489ebf4 | December 10, 2025 | Bug fixes: Improved auto scaling efficiency. The scheduler no longer updates the Pod Scheduled condition when an ACS instance is created. Fixed post-restart failure to read ACS GPU partitions. |
| v1.32.0-apsara.6.11.6.03248691 | November 10, 2025 | New features: Added support for __IGNORE__RESOURCE__. Added support for the alibabacloud.com/schedule-admission annotation. Added support for ACS shared GPU. Optimized PVC scheduling for faster pod creation with disks. Fixed incorrect ScheduleCycle updates when ResourcePolicy and Gang are used together. Bug fixes: Fixed a memory leak in remaining IP-aware scheduling. Fixed a statistics error when CapacityScheduling quota is updated before a pod is bound. |
| v1.32.0-apsara.6.11.5.c774d3c3 | October 23, 2025 | Bug fixes: Fixed an issue where the alibabacloud.com/acs: "true" or alibabacloud.com/eci: "true" label did not take effect. |
| v1.32.0-apsara.6.11.4.4a4f4843 | September 15, 2025 | Bug fixes: Fixed a scheduling issue when multiple containers in a pod request nvidia.com/gpu. Fixed a potential scheduler crash under high-concurrency ACS compute requests. |
| v1.32.0-apsara.6.11.3.b651c575 | September 12, 2025 | New features: ElasticQuotaTree now supports the alibabacloud.com/ignore-empty-resource annotation. NetworkTopology now supports discretized distribution via JobNetworkTopology. |
| v1.32.0-aliyun.6.11.2.58302423 | August 21, 2025 | Improved GOAT scheduling determinism for uninitialized and unschedulable node taints. Fixed an ElasticQuotaTree fairness check error for empty Min or Request quotas. Fixed a potential scheduler crash when creating ACS instances. |
| v1.32.0-aliyun.6.11.1.ab632d8c | July 25, 2025 | Fixed an issue where using ElasticResource to implement ECI elastic scheduling (discontinued) did not take effect. |
| v1.32.0-aliyun.6.11.0.0350a0e7 | July 18, 2025 | Improved GOAT scheduling determinism for concurrent NodeReady changes. Fixed incorrect gang pod count on PodGroup CR recreations. Fixed ElasticQuota preemption logic. Fixed remaining IP-aware scheduling. Fixed TimeoutOrExceedMax and ExceedMax ResourcePolicy policies broken since version 6.9.x. Fixed incorrect MaxPod calculation after elastic scaling. Added ElasticQuotaTree fairness check. Added ScheduleAdmission feature. Added support for alibabacloud.com/eci=true, alibabacloud.com/acs=true, and eci=true pod labels. Added ResourcePolicy security check. |
| v1.32.0-aliyun.6.9.4.d5a8a355 | June 4, 2025 | Fixed InterPodAffinity and PodTopologySpread becoming invalid during continuous scheduling. Fixed ResourcePolicy scheduling anomalies. Fixed an ElasticQuota preemption issue. |
| v1.32.0-aliyun.6.9.3.515ac311 | May 14, 2025 | Improved scheduler interaction with auto-scaling node pools. Fixed incorrect pod count in ResourcePolicy. Fixed a potential cloud disk leak with WaitForFirstConsumer disks and serverless compute. |
| v1.32.0-aliyun.6.9.2.09bce458 | April 16, 2025 | Fixed an ElasticQuota preemption anomaly. Added support for scheduling pods to ACS GPU-HPN nodes. |
| v1.32.0-aliyun.6.8.6.bd13955d | April 2, 2025 | Fixed an issue in ACK serverless clusters where WaitForFirstConsumer cloud disks were not created via the Container Storage Interface (CSI) plugin. |
| v1.32.0-aliyun.6.9.0.a1c7461b | February 28, 2025 | Added support for node remaining IP-aware scheduling. Added a plugin to check resources before Kube Queue tasks are dequeued. Added support for switching the preemption algorithm via component configuration. |
| v1.32.0-aliyun.6.8.5.28a2aed7 | February 19, 2025 | Fixed repeated cloud disk creation when using ECI or ACS. Fixed the ResourcePolicy Max value becoming invalid after declaring PodLabels. |
| v1.32.0-aliyun.6.8.4.2b585931 | January 17, 2025 | Initial support for all previous features in ACK clusters of version 1.32. |
Version 1.31 change history
| Version | Release date | Changes |
|---|---|---|
| v1.31.0-apsara.6.11.5.28c6b51a | October 20, 2025 | Bug fixes: Fixed an issue where the alibabacloud.com/acs: "true" or alibabacloud.com/eci: "true" label did not take effect. |
| v1.31.0-apsara.6.11.4.69d7e1fa | September 15, 2025 | Bug fixes: Fixed a scheduling issue when multiple containers in a pod request nvidia.com/gpu. Fixed a potential scheduler crash under high-concurrency ACS compute requests. |
| v1.31.0-apsara.6.11.3.9b41ad4a | September 12, 2025 | New features: ElasticQuotaTree now supports the alibabacloud.com/ignore-empty-resource annotation. NetworkTopology now supports discretized distribution via JobNetworkTopology. Improved GOAT scheduling determinism for uninitialized and unschedulable node taints. Bug fixes: Fixed an ElasticQuotaTree fairness check error for empty Min or Request quotas. Fixed a potential scheduler crash when creating ACS instances. |
| v1.31.0-aliyun.6.11.1.c9ed2f40 | July 25, 2025 | Fixed an issue where using ElasticResource to implement ECI elastic scheduling (discontinued) did not take effect. |
| v1.31.0-aliyun.6.11.0.ea1f0f94 | July 18, 2025 | Improved GOAT scheduling determinism for concurrent NodeReady changes. Fixed incorrect gang pod count on PodGroup CR recreations. Fixed ElasticQuota preemption logic. Fixed remaining IP-aware scheduling. Fixed TimeoutOrExceedMax and ExceedMax ResourcePolicy policies broken since version 6.9.x. Fixed incorrect MaxPod calculation after elastic scaling. Added ElasticQuotaTree fairness check with StrictFairness parameter. Added ScheduleAdmission feature. Added support for alibabacloud.com/eci=true, alibabacloud.com/acs=true, and eci=true pod labels. Added ResourcePolicy security check. |
| v1.31.0-aliyun.6.9.4.c8e540e8 | June 4, 2025 | Fixed InterPodAffinity and PodTopologySpread becoming invalid. Fixed ResourcePolicy scheduling anomalies. Fixed an ElasticQuota preemption issue. |
| v1.31.0-aliyun.6.9.3.051bb0e8 | May 14, 2025 | Improved scheduler interaction with auto-scaling node pools. Fixed incorrect pod count in ResourcePolicy. Fixed a potential cloud disk leak with WaitForFirstConsumer disks and serverless compute. |
| v1.31.0-aliyun.6.8.6.520f223d | April 2, 2025 | Fixed an issue in ACK serverless clusters where WaitForFirstConsumer cloud disks were not created via the CSI plugin. |
| v1.31.0-aliyun.6.9.0.8287816e | February 28, 2025 | Added support for node remaining IP-aware scheduling. Added a plugin to check resources before Kube Queue tasks are dequeued. Added support for switching the preemption algorithm via component configuration. |
| v1.31.0-aliyun.6.8.5.2c6ea085 | February 19, 2025 | Fixed repeated cloud disk creation when using ECI or ACS. Fixed the ResourcePolicy Max value becoming invalid after declaring PodLabels. |
| v1.31.0-aliyun.6.8.4.8f585f26 | January 2, 2025 | Priority-based scheduling of custom elastic resources: Added support for ACS GPU. Fixed a potential ECI instance leak when PVCs were used in an ACK serverless cluster. Capacity Scheduling: Fixed incorrect ElasticQuotaTree usage in ACS resource normalization scenarios. |
| v1.31.0-aliyun.6.8.3.eeb86afc | December 16, 2024 | Priority-based scheduling of custom elastic resources: Added support for multiple ACS-type units. |
| v1.31.0-aliyun.6.8.2.eeb86afc | December 5, 2024 | Priority-based scheduling of custom elastic resources: Added support for defining PodAnnotations in a unit. |
| v1.31.0-aliyun.6.8.1.116b8e1f | December 2, 2024 | Improved network topology-aware scheduling performance. Fixed an issue where ECI pods could be scheduled back to ECS nodes. Load-aware scheduling no longer restricts DaemonSet pods. |
| v1.31.0-aliyun.6.7.1.1943173f | November 6, 2024 | Priority-based scheduling of custom elastic resources: Added support for trigger-based pod autoscaling. [Deprecated] The resource: elastic field in a unit is deprecated — use k8s.aliyun.com/resource-policy-wait-for-ecs-scaling in PodLabels instead. CPU topology-aware scheduling: Fixed an issue that occurred when ECS instance types change. |
| v1.31.0-aliyun.6.7.0.740ba623 | November 4, 2024 | Capacity Scheduling: Fixed elastic quota preemption being triggered even when ElasticQuotaTree was absent. Priority-based scheduling of custom elastic resources: Added support for ACS-type units. |
| v1.31.0-aliyun.6.6.1.5bd14ab0 | October 22, 2024 | Fixed an occasional invalid score caused by PodTopologySpread. Improved Coscheduling event messages to include failure counts. Removed spurious warning events during virtual node scheduling. Network topology-aware scheduling: Fixed an issue where pods could not be scheduled after preemption. NUMA topology-aware scheduling: Fixed an issue where NUMA topology-aware scheduling did not take effect. |
| v1.31.0-aliyun.6.6.0.ba473715 | September 13, 2024 | Initial support for all previous features in ACK clusters of version 1.31. |
Version 1.30 change history
| Version | Release date | Changes |
|---|---|---|
| v1.30.3-apsara.6.11.7.3cfed0f9 | December 10, 2025 | Bug fixes: Improved auto scaling efficiency. The scheduler no longer updates the Pod Scheduled condition when an ACS instance is created. Fixed post-restart failure to read ACS GPU partitions. |
| v1.30.3-apsara.6.11.6.a298df6b | November 10, 2025 | New features: Added support for __IGNORE__RESOURCE__. Added support for the alibabacloud.com/schedule-admission annotation. Added support for ACS shared GPU. Optimized PVC scheduling. Fixed incorrect ScheduleCycle updates when ResourcePolicy and Gang are used together. ElasticQuotaTree now supports the alibabacloud.com/ignore-empty-resource annotation. Improved GOAT scheduling determinism for uninitialized and unschedulable node taints. Bug fixes: Fixed a memory leak in remaining IP-aware scheduling. Fixed a statistics error when CapacityScheduling quota is updated before a pod is bound. Fixed an ElasticQuotaTree fairness check error for empty Min or Request quotas. |
| v1.30.3-apsara.6.11.3.bc707580 | October 23, 2025 | Bug fixes: Fixed an issue where the alibabacloud.com/acs: "true" or alibabacloud.com/eci: "true" label did not take effect. |
| v1.30.3-apsara.6.11.2.463d59c9 | September 15, 2025 | Bug fixes: Fixed a scheduling issue when multiple containers in a pod request nvidia.com/gpu. Fixed a potential scheduler crash under high-concurrency ACS compute requests. |
| v1.30.3-aliyun.6.11.1.c005a0b0 | July 25, 2025 | Fixed an issue where using ElasticResource to implement ECI elastic scheduling (discontinued) did not take effect. |
| v1.30.3-aliyun.6.11.0.84cdcafb | July 18, 2025 | Improved GOAT scheduling determinism for concurrent NodeReady changes. Fixed incorrect gang pod count on PodGroup CR recreations. Fixed ElasticQuota preemption logic. Fixed remaining IP-aware scheduling. Fixed TimeoutOrExceedMax and ExceedMax ResourcePolicy policies broken since version 6.9.x. Fixed incorrect MaxPod calculation after elastic scaling. Added ElasticQuotaTree fairness check. Added ScheduleAdmission feature. Added support for alibabacloud.com/eci=true, alibabacloud.com/acs=true, and eci=true pod labels. Added ResourcePolicy security check. |
| v1.30.3-aliyun.6.9.4.818b6506 | June 4, 2025 | Fixed InterPodAffinity and PodTopologySpread becoming invalid. Fixed ResourcePolicy scheduling anomalies. Fixed an ElasticQuota preemption issue. |
| v1.30.3-aliyun.6.9.3.ce7e2faf | May 14, 2025 | Improved scheduler interaction with auto-scaling node pools. Fixed incorrect pod count in ResourcePolicy. Fixed a potential cloud disk leak with WaitForFirstConsumer disks and serverless compute. |
| v1.30.3-aliyun.6.8.6.40d5fdf4 | April 2, 2025 | Fixed an issue in ACK serverless clusters where WaitForFirstConsumer cloud disks were not created via the CSI plugin. |
| v1.30.3-aliyun.6.9.0.f08e56a7 | February 28, 2025 | Added support for node remaining IP-aware scheduling. Added a plugin to check resources before Kube Queue tasks are dequeued. Added support for switching the preemption algorithm via component configuration. |
| v1.30.3-aliyun.6.8.5.af20249c | February 19, 2025 | Fixed repeated cloud disk creation when using ECI or ACS. Fixed the ResourcePolicy Max value becoming invalid after declaring PodLabels. |
| v1.30.3-aliyun.6.8.4.946f90e8 | January 2, 2025 | Priority-based scheduling of custom elastic resources: Added support for ACS GPU. Fixed a potential ECI instance leak when PVCs were used in an ACK serverless cluster. Capacity Scheduling: Fixed incorrect ElasticQuotaTree usage in ACS resource normalization scenarios. |
| v1.30.3-aliyun.6.8.3.697ce9b5 | December 16, 2024 | Priority-based scheduling of custom elastic resources: Added support for multiple ACS-type units. |
| v1.30.3-aliyun.6.8.2.a5fa5dbd | December 5, 2024 | Priority-based scheduling of custom elastic resources: Added support for defining PodAnnotations in a unit. |
| v1.30.3-aliyun.6.8.1.6dc0fd75 | December 2, 2024 | Improved network topology-aware scheduling performance. Fixed an issue where ECI pods could be scheduled back to ECS nodes. Load-aware scheduling no longer restricts DaemonSet pods. |
| v1.30.3-aliyun.6.7.1.d992180a | November 6, 2024 | Priority-based scheduling of custom elastic resources: Added support for trigger-aware scaling based on pod count. [Deprecated] The resource: elastic field in a unit is deprecated — use k8s.aliyun.com/resource-policy-wait-for-ecs-scaling in PodLabels instead. CPU topology-aware scheduling: Fixed an issue that occurred when ECS instance types change. |
| v1.30.3-aliyun.6.7.0.da474ec5 | November 4, 2024 | Capacity Scheduling: Fixed elastic quota preemption being triggered even when ElasticQuotaTree was absent. Priority-based scheduling of custom elastic resources: Added support for ACS-type units. |
| v1.30.3-aliyun.6.6.4.b8940a30 | October 22, 2024 | Fixed an occasional invalid score caused by PodTopologySpread. |
| v1.30.3-aliyun.6.6.3.994ade8a | October 18, 2024 | Improved Coscheduling event messages to include failure counts. Removed spurious warning events during virtual node scheduling. |
| v1.30.3-aliyun.6.6.2.0be67202 | September 23, 2024 | Network topology-aware scheduling: Fixed an issue where pods could not be scheduled after preemption. NUMA topology-aware scheduling: Fixed an issue where NUMA topology-aware scheduling did not take effect. |
| v1.30.3-aliyun.6.6.1.d98352c6 | September 11, 2024 | Added support for preemption in network topology-aware scheduling. SlurmOperator: Added support for hybrid scheduling in Kubernetes and Slurm clusters. Coscheduling: Added support for the latest community CRD version. |
| v1.30.3-aliyun.6.5.6.fe7bc1d5 | August 20, 2024 | Fixed the abnormal pod affinity/pod anti-affinity scheduling issue introduced in v1.30.1-aliyun.6.5.1.5dad3be8. |
| v1.30.3-aliyun.6.5.5.8b10ee7c | August 1, 2024 | Rebased to community version v1.30.3. |
| v1.30.1-aliyun.6.5.5.fcac2bdf | August 1, 2024 | Capacity Scheduling: Fixed a quota calculation error when Coscheduling and CapacityScheduling are used together. GPUShare: Fixed an error calculating remaining resources on compute-power scheduling nodes. Priority-based scheduling of custom elastic resources: Optimized node scale-out behavior when ResourcePolicy and ClusterAutoscaler are used together — nodes are no longer scaled out when all units have reached their Max value. |
| v1.30.1-aliyun.6.5.4.fcac2bdf | July 22, 2024 | Coscheduling: Fixed a quota statistics error when using ECI. Fixed an occasional "xxx is in cache, so can't be assumed" error. |
| v1.30.1-aliyun.6.5.3.9adaeb31 | July 10, 2024 | Fixed pods staying in Pending state for extended periods, introduced in v1.30.1-aliyun.6.5.1.5dad3be8. |
| v1.30.1-aliyun.6.5.1.5dad3be8 | June 27, 2024 | Coscheduling: Improved scheduling performance. Added support for sequential pod scheduling. Added support for declaring equivalence classes to improve scheduling performance. Optimized existing scheduler plugins using PreEnqueue. |
| v1.30.1-aliyun.6.4.7.6643d15f | May 31, 2024 | Initial support for all previous features in ACK clusters of version 1.30. |
Version 1.28 change history
| Version | Release date | Changes |
|---|---|---|
| v1.28.12-apsara-6.11.5.db9be0f5 | October 20, 2025 | Bug fixes: Fixed an issue where the alibabacloud.com/acs: "true" or alibabacloud.com/eci: "true" label did not take effect. |
| v1.28.12-apsara-6.11.4.a48c5b6c | September 15, 2025 | Bug fixes: Fixed a scheduling issue when multiple containers in a pod request nvidia.com/gpu. Fixed a potential scheduler crash under high-concurrency ACS compute requests. |
| v1.28.12-apsara-6.11.3.1a06b13e | September 9, 2025 | New features: ElasticQuotaTree now supports the alibabacloud.com/ignore-empty-resource annotation. |
| v1.28.12-aliyun-6.11.1.f23c663c | July 25, 2025 | Fixed an issue where using ElasticResource to implement ECI elastic scheduling (discontinued) did not take effect. |
| v1.28.12-aliyun-6.11.0.4003ef92 | July 18, 2025 | Improved GOAT scheduling determinism for concurrent NodeReady changes. Fixed incorrect gang pod count on PodGroup CR recreations. Fixed ElasticQuota preemption logic. Fixed remaining IP-aware scheduling. Fixed TimeoutOrExceedMax and ExceedMax ResourcePolicy policies broken since version 6.9.x. Fixed incorrect MaxPod calculation after elastic scaling. Added ElasticQuotaTree fairness check. Added ScheduleAdmission feature. Added support for alibabacloud.com/eci=true, alibabacloud.com/acs=true, and eci=true pod labels. Added ResourcePolicy security check. |
| v1.28.12-aliyun-6.9.4.206fc5f8 | June 4, 2025 | Fixed InterPodAffinity and PodTopologySpread becoming invalid. Fixed ResourcePolicy scheduling anomalies. Fixed an ElasticQuota preemption issue. |
| v1.28.12-aliyun-6.9.3.cd73f3fe | May 14, 2025 | Improved scheduler interaction with auto-scaling node pools. Fixed incorrect pod count in ResourcePolicy. Fixed a potential cloud disk leak with WaitForFirstConsumer disks and serverless compute. |
| v1.28.12-aliyun-6.8.6.5f05e0ac | April 2, 2025 | Fixed an issue in ACK serverless clusters where WaitForFirstConsumer cloud disks were not created via the CSI plugin. |
| v1.28.12-aliyun-6.9.0.6a13fa65 | February 28, 2025 | Added support for node remaining IP-aware scheduling. Added a plugin to check resources before Kube Queue tasks are dequeued. Added support for switching the preemption algorithm via component configuration. |
| v1.28.12-aliyun-6.8.5.b6aef0d1 | February 19, 2025 | Fixed repeated disk creation when using ECI or ACS. Fixed the ResourcePolicy Max value becoming invalid after declaring PodLabels. |
| v1.28.12-aliyun-6.8.4.b27c0009 | January 2, 2025 | Priority-based scheduling of custom elastic resources: Added support for ACS GPU. Fixed a potential ECI instance leak when PVCs were used in an ACK serverless cluster. Capacity Scheduling: Fixed incorrect ElasticQuotaTree usage in ACS resource normalization scenarios. |
| v1.28.12-aliyun-6.8.3.70c756e1 | December 16, 2024 | Priority-based scheduling of custom elastic resources: Added support for multiple ACS-type units. |
| v1.28.12-aliyun-6.8.2.9a307479 | December 5, 2024 | Priority-based scheduling of custom elastic resources: Added support for defining PodAnnotations in a unit. |
| v1.28.12-aliyun-6.8.1.db6cdeb8 | December 2, 2024 | Improved network topology-aware scheduling performance. Fixed an issue where ECI pods could be scheduled back to ECS nodes. Load-aware scheduling no longer restricts DaemonSet pods. |
| v1.28.12-aliyun-6.7.1.44345748 | November 6, 2024 | Priority-based scheduling of custom elastic resources: Added support for detecting the pod count that triggers elastic scaling. [Deprecated] The resource: elastic field in a unit is deprecated — use k8s.aliyun.com/resource-policy-wait-for-ecs-scaling in PodLabels instead. CPU topology-aware scheduling: Fixed an issue that occurred when ECS instance types change. |
| v1.28.12-aliyun-6.7.0.b97fca02 | November 4, 2024 | Capacity Scheduling: Fixed elastic quota preemption being triggered even when ElasticQuotaTree was absent. Priority-based scheduling of custom elastic resources: Added support for ACS-type units. |
| v1.28.12-aliyun-6.6.4.e535a698 | October 22, 2024 | Fixed an occasional invalid score caused by PodTopologySpread. |
| v1.28.12-aliyun-6.6.3.188f750b | October 11, 2024 | Improved Coscheduling event messages to include failure counts. Removed spurious warning events during virtual node scheduling. |
| v1.28.12-aliyun-6.6.2.054ec1f5 | September 23, 2024 | Network topology-aware scheduling: Fixed an issue where pods could not be scheduled after preemption. NUMA topology-aware scheduling: Fixed an issue where NUMA topology-aware scheduling did not take effect. |
| v1.28.12-aliyun-6.6.1.348b251d | September 11, 2024 | Added support for preemption in network topology-aware scheduling. SlurmOperator: Added support for hybrid scheduling in Kubernetes and Slurm clusters. |
| v1.28.12-aliyun-6.5.4.79e08301 | August 20, 2024 | Fixed the abnormal pod affinity/pod anti-affinity scheduling issue introduced in v1.28.3-aliyun-6.5.1.364d020b. |
| v1.28.12-aliyun-6.5.3.aefde017 | August 1, 2024 | Rebased to community version v1.28.12. |
| v1.28.3-aliyun-6.5.3.79e08301 | August 1, 2024 | Capacity Scheduling: Fixed a quota calculation error when Coscheduling and CapacityScheduling are used together. GPUShare: Fixed an error calculating remaining resources on compute-power scheduling nodes. Priority-based scheduling of custom elastic resources: Optimized node scale-out behavior when ResourcePolicy and ClusterAutoscaler are used together. |
| v1.28.3-aliyun-6.5.2.7ff57682 | July 22, 2024 | Coscheduling: Fixed a quota statistics error when using ECI. Fixed an occasional "xxx is in cache, so can't be assumed" error. Fixed pods staying in Pending state for extended periods, introduced in v1.28.3-aliyun-6.5.1.364d020b. |
| v1.28.3-aliyun-6.5.1.364d020b | June 27, 2024 | Coscheduling: Improved scheduling performance. Added support for sequential pod scheduling. Added support for declaring equivalence classes. Optimized existing scheduler plugins using PreEnqueue. |
| v1.28.3-aliyun-6.4.7.0f47500a | May 24, 2024 | Network topology-aware scheduling: Fixed an occasional scheduling failure. |
| v1.28.3-aliyun-6.4.6.f32dc398 | May 16, 2024 | Shared GPU scheduling: Fixed an issue in LINGJUN clusters where GPU scheduling became abnormal after changing the ack.node.gpu.schedule label from egpu to default. Capacity Scheduling: Fixed an occasional running AddPod on PreFilter plugin error. Elastic scheduling: Added the wait for eci provisioning event when an ECI instance is created using alibabacloud.com/burst-resource. |
| v1.28.3-aliyun-6.4.5.a8b4a599 | May 9, 2024 | NUMA co-scheduling: Updated the NUMA joint allocation API. See Enable NUMA topology-aware scheduling. |
| v1.28.3-aliyun-6.4.3.f57771d7 | March 18, 2024 | Shared GPU scheduling: Added support for using a ConfigMap to specify card isolation. Priority-based scheduling of custom elastic resources: Added support for the elastic resource type. |
| v1.28.3-aliyun-6.4.2.25bc61fb | March 1, 2024 | Disabled the SchedulerQueueingHints feature by default. See Pull Request #122291. |
| v1.28.3-aliyun-6.4.1.c7db7450 | February 21, 2024 | Added support for NUMA joint allocation. Priority-based scheduling of custom elastic resources: Added support for waiting between units. Fixed a remaining IP-aware scheduling issue where an incorrect IP count reduced the number of schedulable pods. |
| v1.28.3-aliyun-6.3.1ab2185e | January 10, 2024 | Priority-based scheduling of custom elastic resources: Fixed ECI zone affinity and discretization not taking effect. CPU topology-aware scheduling: Fixed repeated allocation of the same CPU core to a single pod, which caused pods to fail to start. ECI elastic scheduling: Fixed pods being scheduled to ECI when the alibabacloud.com/burst-resource label value was not eci or eci_only. |
| v1.28.3-aliyun-6.2.84d57ad9 | December 21, 2023 | Priority-based scheduling of custom elastic resources: Added support for MatchLabelKeys to automatically group different application versions during rollouts. |
| v1.28.3-aliyun-6.1.ac950aa0 | December 13, 2023 | Capacity Scheduling: Added quota assignment via the quota.scheduling.alibabacloud.com/name pod annotation. Added queue association to count only resources managed by Kube Queue. Optimized preemption logic — preemption no longer drops the preempted quota below its Min value or lifts the preempting quota above its Min value. Priority-based scheduling of custom elastic resources: Added support for updating ResourcePolicy unit and node labels with Deletion-Cost synchronization. Added IgnoreTerminatingPod to exclude terminating pods from unit pod counts. Added IgnorePreviousPod to exclude pods older than the associated ResourcePolicy from unit counts. Added PreemptPolicy for inter-unit pod preemption attempts. GPUShare: Reduced P99 Filter plugin scheduling latency from milliseconds to microseconds. |
| v1.28.3-aliyun-5.8-89c55520 | October 28, 2023 | Initial support for all previous features in ACK clusters of version 1.28. |
Version 1.26 change history
Version 1.24 change history
Version 1.22 change history
Version 1.20 change history
Version 1.18 change history
| Version | Release date | Changes |
|---|---|---|
| v1.18-ack-4.0 | September 2, 2021 | Added support for load-aware scheduling. |
| v1.18-ack-3.1 | June 5, 2021 | Made ECI scheduling compatible with node pools. |
| v1.18-ack-3.0 | March 12, 2021 | Added support for unified scheduling of ECI and ECS. |
| v1.18-ack-2.0 | November 30, 2020 | Added support for GPU topology-aware scheduling and shared GPU scheduling. |
| v1.18-ack-1.0 | September 24, 2020 | Added support for CPU topology-aware scheduling and Coscheduling. |