使用污点和容忍度调度 Pod #
可以在 KWOK 中定义污点和容忍度。它在以下情况下很方便
- 你在真实集群(KIND、K3D 等)中安装了 KWOK,并且希望将部分或全部 Pod 调度到 KWOK 节点以测试可扩展性。
- 你希望在 KWOK 集群内模拟污点和容忍度用例。
现在让我们看看要点 2。
此图片展示了测试此场景时你应该看到的内容。在看到此内容后,你可以按照分步指南进行操作。
先决条件 #
创建集群 #
kwokctl create cluster
查看集群 #
- 这将确保集群已成功创建。
kwokctl get clusters
创建节点 #
kwokctl scale node --replicas 1
污染节点 #
kubectl taint nodes node-000000 kwok.x-k8s.io/node=fake:NoSchedule
部署没有容忍度的 Pod 并观察 #
kubectl apply -f no-toleration-pod.yaml
kubectl get pod
NAME READY STATUS RESTARTS AGE
no-toleration-pod 0/1 Pending 0 4s
Pod 处于待定状态。
部署具有容忍度的 Pod 并观察 #
kubectl apply -f with-toleration-pod.yaml
kubectl get pod
NAME READY STATUS RESTARTS AGE
no-toleration-pod 0/1 Pending 0 20s
with-toleration-pod 1/1 Running 0 2s
只有具有容忍度的 Pod 处于运行状态。
删除集群 #
kwokctl delete cluster
结论 #
此示例演示了如何使用 KWOK 根据 污点和容忍度 策略模拟调度场景。