使用 Pod 拓扑扩展约束调度 Pod #
Pod 拓扑扩展约束调度策略可以在 KWOK 集群中应用。
对于此特定场景,集群有 4 个节点,跨越 2 个区域。将应用 Pod 拓扑扩展约束策略,以便在每个区域均匀地调度 Pod。
此图像显示了在测试此场景时应看到的内容。在看到此内容后,您可以按照分步指南进行操作。
先决条件 #
创建集群 #
kwokctl create cluster
查看集群 #
这确保了集群已成功创建。
kwokctl get clusters
创建节点 #
kwokctl scale node --replicas 4
标记节点 #
以下是节点资源规范
- 节点:集群中的 4 个工作节点- 节点 1- 键 = topology.kubernetes.io/region
- 值 = us-west-1
 
- 节点 2- 键 = topology.kubernetes.io/region
- 值 = us-west-1
 
- 节点 3- 键 = topology.kubernetes.io/region
- 值 = us-west-2
 
- 节点 4- 键 = topology.kubernetes.io/region
- 值 = us-west-2
 
 
- 节点 1
kubectl label nodes node-000000 topology.kubernetes.io/region=us-west-1
kubectl label nodes node-000001 topology.kubernetes.io/region=us-west-1
kubectl label nodes node-000002 topology.kubernetes.io/region=us-west-2
kubectl label nodes node-000003 topology.kubernetes.io/region=us-west-2
创建部署 #
kubectl apply -f deployment.yaml
此部署创建 4 个副本,其 maxSkew 设置为 1。
观察拓扑分布 #
kubectl get pod -o wide
NAME                        READY   STATUS    RESTARTS   AGE   IP         NODE          NOMINATED NODE   READINESS GATES
fake-app-685c7b9cc7-2n8lv   1/1     Running   0          5s    10.0.2.2   node-000002   <none>           <none>
fake-app-685c7b9cc7-2s2gf   1/1     Running   0          5s    10.0.1.1   node-000001   <none>           <none>
fake-app-685c7b9cc7-7zvm9   1/1     Running   0          5s    10.0.1.2   node-000001   <none>           <none>
fake-app-685c7b9cc7-fhntg   1/1     Running   0          5s    10.0.2.1   node-000002   <none>           <none>
所有 Pod 在各个区域的每个节点之间均匀分布。
删除集群 #
kwokctl delete cluster
结论 #
此示例演示了如何使用 KWOK 根据设置 Pod 拓扑分布约束 策略来模拟调度方案。