After you enable scheduling policies for virtual nodes, you can use native Kubernetes features such as pod affinity, topology spreading, and node affinity in your ACK cluster to improve application availability and reduce latency.
Prerequisites
An or an ACK Pro cluster that runs Kubernetes 1.22 or later. For more information, see , Create an ACK managed cluster, and Update an ACK cluster.
Usage notes
-
If you configure pod anti-affinity, the pod may fail to be scheduled. Use this feature with caution.
-
If you configure virtual node anti-affinity for a pod, the pod may fail to be scheduled. Verify this setting before you submit the pod.
-
When this feature is enabled, pod scheduling requires querying inventory and updating the cluster status. This adds about one second of overhead to the scheduling time for each pod. The maximum throughput for concurrent scheduling is approximately 300 pods per second. If high scheduling speed and throughput are critical for your workloads, enable this feature with caution.
Step 1: Verify component installation and versions
This scheduling policy depends on the Kube Scheduler and ACK Virtual Node components. Follow these steps to verify that both components are installed and meet the version requirements.
Log on to the ACK console. In the left navigation pane, click Clusters.
On the Clusters page, click the name of your cluster. In the left navigation pane, click Components and Add-ons.
-
In the Core Components section, verify that the following components are installed and meet the version requirements. If a component does not meet the requirements, click Install or Upgrade in the lower-right corner of the card.
-
Kube Scheduler: 5.9 or later
-
ACK Virtual Node: v2.10.0 or later
-
Step 2: Confirm scheduling is enabled
-
Click Configuration in the lower-right corner of the Kube Scheduler card.
-
Make sure that Enable Virtual Node-based Pod Scheduling is selected, and click OK.