我有2个节点上运行的k8s群集和AWS中的1个主服务器。
当我更改了我的所有复制副本的副本时,它位于同一节点上。有没有办法跨节点分发。?
sh-3.2# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
backend-6b647b59d4-hbfrp 1/1 Running 0 3h 100.96.3.3 node1
api-server-77765b4548-9xdql 1/1 Running 0 3h 100.96.3.1 node2
api-server-77765b4548-b6h5q 1/1 Running 0 3h 100.96.3.2 node2
api-server-77765b4548-cnhjk 1/1 Running 0 3h 100.96.3.5 node2
api-server-77765b4548-vrqdh 1/1 Running 0 3h 100.96.3.7 node2
api-db-85cdd9498c-tpqpw 1/1 Running 0 3h 100.96.3.8 node2
ui-server-84874d8cc-f26z2 1/1 Running 0 3h 100.96.3.4 node1
当我尝试停止/终止AWS实例(node-2)时,pod处于暂挂状态而不是迁移到可用节点。我们可以指定吗??
sh-3.2# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
backend-6b647b59d4-hbfrp 1/1 Running 0 3h 100.96.3.3 node1
api-server-77765b4548-9xdql 0/1 Pending 0 32s <none> <none>
api-server-77765b4548-b6h5q 0/1 Pending 0 32s <none> <none>
api-server-77765b4548-cnhjk 0/1 Pending 0 32s <none> <none>
api-server-77765b4548-vrqdh 0/1 Pending 0 32s <none> <none>
api-db-85cdd9498c-tpqpw 0/1 Pending 0 32s <none> <none>
ui-server-84874d8cc-f26z2 1/1 Running 0 3h 100.96.3.4 node1
答案 0 :(得分:0)
通常情况下,调度程序会考虑该帐户并尝试传播您的容器,但是有很多原因导致其他节点在启动容器时可能无法调度。如果您不需要在同一节点上拥有多个pod,则可以使用Pod Anti Affinity规则强制执行该规则,您可以使用该规则说明同一组标签(即名称和版本)的pod永远不会在同一节点。