K8S集群宿主机CPU过高处理

 K8S集群宿主机CPU过高处理

今天告警收到一个K8S集群的node节点CPU使用率过高告警,经过排查是一个POD没有限制CPU使用导致的,在容器云环境中应用服务最好做CPU、MEM的限制,不然有异常的服务会导致不可想象后果。

处理过程

  • 查询服务的PID
    通过top命令我们可以看到确实是CPU使用过高,也能查到对应的PID
    K8S集群宿主机CPU过高处理_第1张图片

  • 查对应的容器名称
    根据 docker ps -q | xargs docker inspect --format '{{.State.Pid}} {{.Name}}' | column -t|grep PID命令可以查询到对应的容器名称
    在这里插入图片描述
    说明:有时候容器里面的pid是1的进程不是应用进程就需要看看宿主机的对应的PID的子进程或者父进程;容器的名称包含命名空间和POD名称。

  • 进入容器定位代码问题
    此时我们可以进入容器,查询JVM的信息看看那个类导致的CPU使用过高,请参考之前的文章。

你可能感兴趣的:(docker-k8s容器技术,kubernetes,docker,容器)