EthanWalkerTech

K8s 发布失败后,大家第一眼先看哪?

  •  
  •   EthanWalkerTech · Jun 25 · 4317 views
    This topic created in 133 days ago, the information mentioned may be changed or developed.
    最近在看 K8s 的发布链路,发现一个挺现实的问题:发布失败以后,每个人下手的位置不太一样。

    有人先翻 CI ,看是不是镜像没打出来;有人先看 Helm / Argo CD ,确认资源有没有真正下到集群;也有人直接 kubectl describe pod ,先扫 Events 、Pod 状态、Deployment ;还有人第一反应是去看业务日志。

    我有点纠结的是:第一步到底该先确认发布动作有没有真正执行成功,还是直接进集群看 Pod 为什么没起来。

    大家平时遇到这种发布失败,一般第一步看哪里?
    有固定顺序吗,还是看报错现象临时判断?
    25 replies  •  2026-09-01 14:41:15 +08:00
    owt5008137
    owt5008137
    Jun 25 via Android
    1
    打开 AI ,帮我诊断。。。(🐶
    cheng6563
    cheng6563
    Jun 25
    2
    k8s 发布不就是跑命令吗,所以 claude code 一把嗦。
    pollux
    pollux
    Jun 25
    3
    不是先看日志吗?
    beyondstars
    4
    kubernetes 资源是互相联系的,从顶层看起,比如 deployment >> replicaset >> pod >> container ,既要看 kubernetes 事件,也要看日志。

    不要无脑给 ai 所有权限让 ai 全权控制你的 k8s 集群,出了问题你没法甩锅给 ai 。可以把你认为可疑的但又不理解的信息丢给 ai 。
    Mystery0
    Mystery0
    Jun 25 via Android
    5
    不是应该看报错信息吗
    momocraft
    momocraft
    Jun 25
    6
    想想怎么让自己不用想
    hackroad
    hackroad
    Jun 25
    7
    每个动作不应该埋点日志?失败了通知对应的动作?
    seers
    seers
    Jun 25
    8
    当然是从最底下开始一层层往上了,从现象倒推是最快的
    weiwenhao
    weiwenhao
    Jun 25❤️1
    9
    原则上是先看失败日志,一般都是让 cladue 直接操作 kubectl 帮我分析,cladue 都会让我审批我看命令是查询相关的就直接通过。
    winson030
    winson030
    Jun 25
    10
    一般出事都会告警,先看告警日志吧。
    alexluo1
    alexluo1
    PRO
    Jun 25❤️1
    11
    看甲方群
    limusi
    limusi
    Jun 25
    12
    claude code + kubectl 90%的情况 1 分钟内能解
    cctv6
    cctv6
    Jun 25 via Android
    13
    kubectl get/describe pod/deploy
    Frankcox
    Frankcox
    Jun 26
    14
    这个要看 devops ,cicd 做的水平
    如果就扔给我一句:“应用发布失败了”
    那我首先要看 deployment, pod 的状态,看是集群问题还是应用问题。
    locoz
    locoz
    Jun 26 via Android
    15
    当然是不看啊,这点破事还得需要让我来看的话,那说明 AI 出问题了。正常来说应该是 AI 自己处理完,真碰到什么有风险的操作要决策了才来找我,没风险单纯碰到点小问题都该自己解决。
    ExplodingDragon
    16
    先看看 deploy 或者 sts 版本有没有滚完,哪里出错,先保证业务稳定性,剩下的 ci/cd 问题可以慢慢修
    5261
    5261
    Jun 26
    17
    我还停留在 docker compose 水平阶段
    noahjsn
    noahjsn
    Jun 26
    18
    kubectl logs <pod_name>
    EthanWalkerTech
    19
    @ExplodingDragon 这个思路挺实用的。

    一般怎么看 rollout 卡在哪一步?先看 Deployment / StatefulSet ,还是直接看 Pod 和 Events ?
    EthanWalkerTech
    20
    @weiwenhao 你这个是 claude 先判断要查什么,然后你再确认命令吗?

    平时只读 kubectl 命令你会直接放行? get pods 、describe pod 、logs 、get events 这类?
    weiwenhao
    weiwenhao
    Jun 26❤️1
    21
    @EthanWalkerTech 是的,比如我收到了告警,然后我把告警信息给到 cladue ,比如下面这个是昨天的


    '''
    使用 kubectl 看一下是什么应用导致了 oom

    Description: OOM kill detected
    VALUE = 6
    LABELS = map[xxxxx 隐私信息,就是 k8s 集群上的故障]

    '''


    然后他会给一组命令,我就看这些命令前缀是不是查询相关的,是的话就直接放行。

    其实我 apply 命令也是让 cladue 写 yaml, 然后我过一遍,然后让 cladue 进行 apply 。
    EthanWalkerTech
    22
    @weiwenhao 放行的时候一般只关注命令是不是查询,还是会看下 namespace 资源类型这些是否越界?
    defunct9
    defunct9
    Jun 27 via iPhone
    23
    k9s 看状态
    hancai2
    hancai2
    Jul 23
    24
    我看一眼运维
    joudev
    joudev
    Sep 1
    25
    describe+logs 一般都能解决 99%的问题

    另外自荐一款开源项目: https://github.com/togettoyou/zke ,直接 AI 排障
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1789 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 16:58 · PVG 00:58 · LAX 08:58 · JFK 11:58
    ♥ Do have faith in what you're doing.