Kubernetes 应用 troubleshooting

设置合理的 Req 和 Limit

  • 不设置 Req 和 Limit,当应用的 CPU、MEM 暴涨时,会危害同一节点上的其他 Pod,甚至导致集群节点一个接一个被压垮。
  • Req 和 Limit 一共有四个值,如果只设置部分值,当节点资源使用率达到 Kubelet 预设值时,Kubelet 会驱逐 Pod,驱逐的顺序是 Guaranteed > Burstable > Best-Effort
  • Burstable, 至少一个容器具有 CPU、MEM 的请求或限制
  • BestEffort, 容器都没有设置 CPU、MEM 的请求或限制
  • ENTRYPOINT 脚本的编码问题,修改 Windows 下的 CRLF 为 Linux 下的 LF