使用 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 拓扑分布约束 策略来模拟调度方案。