37把制品变成一次服务响应,38补上故障恢复。平台在这些节点路径之上,还要做跨节点放置、声明式控制、租户权限与流量治理;这些职责既不能让镜像 digest 自动可信,也不能代替节点上真实进程和网络的核验。

用一个最小控制/数据面案例划线

选择一份固定的 probe-app digest,在专用 kind 集群中声明 Deployment/Service。控制面根据声明维持副本,节点 kubelet 经 CRI 建立 sandbox 与进程,服务入口把真实请求发往 Ready 后端;如果加一条 Operator 自定义策略或服务网格流量规则,就要分别核对其 controller 是否改变对象,以及数据面是否实际对请求作了转发/拒绝。只存在 CRD 或策略 YAML 并不说明该 controller 已运行,也不说明路由规则已经生效。多租户还要求 RBAC、namespace、网络与节点权限一起审视;Kubernetes Namespace 是 API 组织维度,不等于 Linux user namespace 的安全边界。

正例先只用标准 Deployment/Service 把请求关联到 Pod UID 和 PID,再加入一项经过版本核查的策略并观察请求变化;反例让自定义资源存在但控制器停止,仅在独立实验集群中测试“声明被接受、执行无变化”的可观测区别。实验入口与控制面清理和同一制品素材不实现任意 Operator。本云端缺 kind/服务网格/独立租户环境,端到端控制/数据面案例 NOT_RUN,本篇不扩写 Kubernetes 通论。

现象 控制面证据 数据面证据
副本声明成功 Deployment/Pod UID 真实 HTTP 响应
策略对象存在 controller/reconcile 状态 流量被允许或拒绝
namespace 隔开名称 RBAC 与请求对象 网络/内核隔离另验

练习

  1. 预测 controller 未运行时提交一条有效 CRD 对象会否改变请求路径,在独立实验集群保存对象/事件与实际响应。
  2. 预测同一个 probe-app digest 部署到两个 namespace 就能否形成完整多租户隔离,按 API 权限、网络、节点资源与内核边界逐层核验。

先修:26:Pod 节点执行、33:制品可信、36:交付。相关阅读:Kubernetes 核心概念,不是本篇实验结果。

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

参考资料