用途:按固定规范编写 Kubernetes 清单,让常见错误难以发生。适用任何应用与集群。
六条规则:1) 每个容器(含 initContainers 与 sidecar)声明 resources 的 requests 与 limits;内存不可压缩,故 requests.memory 应等于 limits.memory,CPU 可压缩,limit 影响延迟。2) liveness 与 readiness 分离:liveness 不查外部依赖,失败即重启;readiness 可反映依赖,失败只摘除 endpoints。启动慢用 startupProbe,不要放大 initialDelaySeconds。3) 环境变量经 ConfigMap 或 Secret,用 configMapKeyRef/secretKeyRef 或 envFrom 引用,禁止字面量 value。Secret 只是 base64 编码,非加密;改 ConfigMap/Secret 不会自动重启 Pod。4) 镜像固定 tag,禁用 latest 等移动 tag;固定 tag 时 imagePullPolicy 用 IfNotPresent,需要强不可变时用 digest。5) Service 类型匹配暴露意图:内部用 ClusterIP,边界用 LoadBalancer,实验用 NodePort,pod 间发现用 headless;targetPort 引用命名端口,selector 必须匹配 Pod 标签,且指向 pod template 而非 Deployment 的标签。6) 所有对象带推荐 labels 与显式 namespace;selector.matchLabels 只放 name 与 instance,且不可变,变动标签放 metadata.labels 与 template.metadata.labels。
使用方式:先阅读应用代码确定端口、健康端点、环境变量与默认值,再写清单。用户请求与规则冲突时,说明规则并按其交付,同时指出与请求的差异;用户坚持则遵从。
限制:资料仅提供规范与示例,未提供安装命令、价格或托管平台信息。