每期一个小窍门(005) 如何快速排查启动失败的pod?

Posted 李昊轩的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每期一个小窍门(005) 如何快速排查启动失败的pod?相关的知识,希望对你有一定的参考价值。

相信很多k8s的使用者都会被pod的报错信息所困扰
这里写个小窍门帮助大家来越过这个大坑
pod的生命周期和内部的指令是相同的, 这个指令优先级这里就不做讨论

排查思路

本质上就是用一个长生命周期的指令替代我们的业务命令, 因为长生命周期的指令可以让我们有足够的时间进入pod, 进入pod就好排查各种异常了, 可以手动重新执行业务命令看报错, 也可以查看挂载, 网络等情况.

例如deployment的命令可以这样替换

  command:
    - /bin/bash
  args:
    - '-c'
    - while true; do echo hello; sleep 10;done

/bin/bash -c 是防止docker找不到自己的shell, 也是防止后面的指令被误解, 所以强制指定为字符串形式

以上是关于每期一个小窍门(005) 如何快速排查启动失败的pod?的主要内容,如果未能解决你的问题,请参考以下文章

每期一个小窍门(001): 一个简单优雅的redis 工具类 (最简单版本)

每期一个小窍门(001): 一个简单优雅的redis 工具类 (最简单版本)

每期一个小窍门: k8s容器亲和性的小例子

每期一个小窍门(003) 关闭selinux 和 swap

每期一个小窍门(004) 关闭selinux 和 swap

每期一个小窍门: mongodb 备份/恢复 数据库