33 的制品身份和28 的就绪状态属于交付的两个不同条件。单机 Compose 和 Kubernetes 可以消费同一镜像 digest,但不会因此拥有相同的网络、卷、策略或回退语义。应以实际 digest 为连接点,再记录各自的声明配置与请求结果。

固定制品,不固定假设

附件中的 `compose.yaml` 要求 `PROBE_IMAGE` 是实际 `repo@sha256:...`,把仅属于实验的 volume 挂到探针 state-dir,限制发布端口为本机 loopback;Kubernetes 则需在专用集群部署同 digest 的 Deployment/Service,并明确 storage/NetworkPolicy 和探针版本。运行两侧 `/identity` 与 `/state`,可追踪到真正服务该请求的 Pod UID/容器 ID/PID,而不只是 YAML 的 image 字段。

正例先部署已验证版本,记录 digest、配置和合成状态文本,再将应用或配置换成已知坏版本,在专用环境观测失败并按明确回退动作恢复旧 digest 与请求;负例是回退了容器镜像但数据 schema 已被前一版不可逆地改变,服务仍可能失败。因此回退验收必须同时看配置、卷数据兼容性和真实请求,而不是只看“rollout undo 成功”。复跑入口和数据边界要求只清理自己创建的 Compose project/namespace 与卷;本机无 Docker/kind/实际 digest,交付与回退均 NOT_RUN,Compose 静态结构不是服务上线证明。

现象 核查 不能推出
YAML 的 image 是旧 digest 实际容器镜像 digest 数据已回滚
rollout 成功 Pod Ready 和真实请求 业务成功
两端 digest 一样 配置、卷和网络路径 行为必然相同

练习

  1. 先预测容器镜像回退、但测试卷内容被坏版本修改后 /state 结果,专用环境留合成数据对照及备份恢复步骤。
  2. 预测 Compose 与 Kubernetes 同 digest 的 Pod/容器是否拥有同一端口入口,实际读取监听、路由、endpoint 与 HTTP 返回。

上一篇:35:性能对照;下一篇:37:全链路。

系列总目录:从进程隔离到运行时与编排。

参考资料