kubernetes-限制节点可启动的pod数量

kubernetes 每个节点默认,限制只能启动110个pod,如果想调整可运行的pod数量,可以在kubelet 中增加启动参数:

--max-pods=60

之后,重启kubelet 服务,就生效。重启kubelet,不影响现有运行中的容器,不会造成容器重启。

这里有一个利用该参数解决容器并发启动的问题:

由于业务需要,我们在3个节点上需要运行大量资源消耗非常小的pod,每个节点运行200个pod;

今天意外发生故障,造成这3个节点上所有容器并发重启。造成这3个节点在容器重启过程中,资源耗尽,并进入挂掉的状态。

为了快速能够解决此问题,让所有Pod启动起来:

  1. 把这个节点标记为维护状态,让此节点不能接收pod分配。
  2. 修改kubelet的启动参数:---max-pods=20,让此节点限制pod数量为20.
  3. 再次删除此节点的维护状态,这时可以看到该节点重新启动了20个pod
  4. 等该节点的pod启动完毕,并节点的性能下降到稳定状态后,重复第2步,把--max-pods=40,即再增加20个pod。
  5. 重复上面步骤,直至该节点的可运行Pod数量为200.

kubelet可选启动参数:https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options

你可能感兴趣的:(kubernetes)