如何在k8s中添加规则以迁移节点故障

时间:2018-04-23 10:41:58

标签: amazon-web-services kubernetes load-balancing replication kubectl

我有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

1 个答案:

答案 0 :(得分:0)

通常情况下,调度程序会考虑该帐户并尝试传播您的容器,但是有很多原因导致其他节点在启动容器时可能无法调度。如果您不需要在同一节点上拥有多个pod,则可以使用Pod Anti Affinity规则强制执行该规则,您可以使用该规则说明同一组标签(即名称和版本)的pod永远不会在同一节点。