<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>容器 on 萤宝的博客</title>
        <link>http://www.wangjiayi.asia/tags/%E5%AE%B9%E5%99%A8/</link>
        <description>Recent content in 容器 on 萤宝的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Thu, 15 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="http://www.wangjiayi.asia/tags/%E5%AE%B9%E5%99%A8/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Kubernetes Pod 排障速查手册</title>
            <link>http://www.wangjiayi.asia/p/k8s-pod-troubleshooting/</link>
            <pubDate>Thu, 15 Oct 2026 00:00:00 +0800</pubDate>
            <guid>http://www.wangjiayi.asia/p/k8s-pod-troubleshooting/</guid>
            <description>&lt;h2 id=&#34;通用排查三步&#34;&gt;&lt;a href=&#34;#%e9%80%9a%e7%94%a8%e6%8e%92%e6%9f%a5%e4%b8%89%e6%ad%a5&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;通用排查三步&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. 看 Pod 状态和事件&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl describe pod &amp;lt;pod&amp;gt; -n &amp;lt;ns&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. 看日志（当前容器）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl logs &amp;lt;pod&amp;gt; -n &amp;lt;ns&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3. 看上一次崩溃的日志&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl logs &amp;lt;pod&amp;gt; -n &amp;lt;ns&amp;gt; --previous&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;常见状态与根因&#34;&gt;&lt;a href=&#34;#%e5%b8%b8%e8%a7%81%e7%8a%b6%e6%80%81%e4%b8%8e%e6%a0%b9%e5%9b%a0&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;常见状态与根因&#xA;&lt;/h2&gt;&lt;h3 id=&#34;crashloopbackoff&#34;&gt;&lt;a href=&#34;#crashloopbackoff&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;CrashLoopBackOff&#xA;&lt;/h3&gt;&lt;p&gt;容器反复启动失败。常见原因：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;原因&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;排查方式&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;应用启动报错&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;kubectl logs --previous&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;配置错误&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;检查 ConfigMap / Secret 挂载&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;依赖未就绪&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;检查数据库、中间件连通性&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;探针失败&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;检查 livenessProbe / readinessProbe 参数&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;OOM&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;kubectl describe pod&lt;/code&gt; 看 Last State&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;pending&#34;&gt;&lt;a href=&#34;#pending&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Pending&#xA;&lt;/h3&gt;&lt;p&gt;Pod 无法调度到节点。常见原因：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 看调度失败原因&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl describe pod &amp;lt;pod&amp;gt; -n &amp;lt;ns&amp;gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -A10 Events&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;资源不足&lt;/strong&gt;：节点 CPU / 内存不够 → &lt;code&gt;kubectl describe node&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;污点不匹配&lt;/strong&gt;：节点有 taint，Pod 没容忍&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;亲和性限制&lt;/strong&gt;：nodeAffinity / podAffinity 过严&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;PVC 未绑定&lt;/strong&gt;：&lt;code&gt;kubectl get pvc -n &amp;lt;ns&amp;gt;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;oomkilled&#34;&gt;&lt;a href=&#34;#oomkilled&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;OOMKilled&#xA;&lt;/h3&gt;&lt;p&gt;内存超限被杀：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl describe pod &amp;lt;pod&amp;gt; -n &amp;lt;ns&amp;gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;last state&amp;#34;&lt;/span&gt; -A5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;处理：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;上调 &lt;code&gt;resources.limits.memory&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;排查应用内存泄漏&lt;/li&gt;&#xA;&lt;li&gt;调整 JVM / 运行时堆参数&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;imagepullbackoff&#34;&gt;&lt;a href=&#34;#imagepullbackoff&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;ImagePullBackOff&#xA;&lt;/h3&gt;&lt;p&gt;镜像拉不下来：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;镜像名 / tag 写错&lt;/li&gt;&#xA;&lt;li&gt;私有仓库未配置 imagePullSecrets&lt;/li&gt;&#xA;&lt;li&gt;网络不通（节点无法访问镜像仓库）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 测试节点能否拉取&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl get events -n &amp;lt;ns&amp;gt; --sort-by&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;.lastTimestamp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;evicted&#34;&gt;&lt;a href=&#34;#evicted&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Evicted&#xA;&lt;/h3&gt;&lt;p&gt;节点资源压力导致 Pod 被驱逐：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl describe node &amp;lt;node&amp;gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;memory pressure\|disk pressure&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;清理节点磁盘或内存，检查是否有 Pod 没有设置 resources requests。&lt;/p&gt;&#xA;&lt;h2 id=&#34;万能排查命令&#34;&gt;&lt;a href=&#34;#%e4%b8%87%e8%83%bd%e6%8e%92%e6%9f%a5%e5%91%bd%e4%bb%a4&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;万能排查命令&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 全局事件（按时间排序）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl get events -A --sort-by&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;.lastTimestamp &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tail -30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 资源占用&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl top pod -n &amp;lt;ns&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl top node&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看 Pod 所在节点&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl get pod &amp;lt;pod&amp;gt; -n &amp;lt;ns&amp;gt; -o wide&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;小结&#34;&gt;&lt;a href=&#34;#%e5%b0%8f%e7%bb%93&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;小结&#xA;&lt;/h2&gt;&lt;p&gt;排障的核心顺序是：&lt;strong&gt;看状态 → 看事件 → 看日志 → 定位根因&lt;/strong&gt;。不要一上来就重启 Pod，那样会丢失现场。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
