生产落地规范
掌握生产集群的部署架构规范
了解安全、运维、发布的最佳实践
建立生产级操作的标准化意识
核心讲解
(1)集群部署规范
架构规范
控制平面至少 3 节点(奇数),独立 etcd 或同机部署
工作节点按业务量弹性扩容,至少 2 节点冗余
控制平面节点禁止运行业务 Pod,通过污点隔离
网络规范
按业务配置网络策略,最小权限互通
统一 Ingress 作为公网入口,禁止随意 NodePort 暴露
服务之间用服务名调用,禁止硬写 IP 地址
安全规范
开启 RBAC,严格遵循最小权限原则
禁用匿名访问,收紧默认服务账号权限
敏感信息用 Secret,禁止硬编码在镜像或 YAML 中
私有镜像仓库认证,禁止运行来源不明的公共镜像
(2)应用部署规范
所有应用声明式 YAML 管理,Git 版本控制,禁止手动修改集群
必须配置
requests/limits资源限制,防止异常占用节点资源必须配置存活探针、就绪探针,异常自动摘除流量、自动重启
无状态用 Deployment,有状态用 StatefulSet,定时任务用 CronJob
配置优雅终止,给进程留出退出时间,避免强制杀死
(3)运维与发布规范
监控告警全覆盖,核心指标分级告警
定期备份 etcd,每季度至少演练一次恢复
日志集中采集,可检索、可审计、保留周期合规
变更灰度发布,小流量验证后全量
生产环境禁止直接 kubectl 手动变更,全部走 CI/CD 发布流程
常见误区
能跑起来就是生产级:生产环境必须同时满足高可用、监控、备份、安全、可观测
资源限制可有可无:不设 limits,容器异常可能占满整个节点资源,导致节点雪崩
健康检查没用:没有健康检查,进程挂了还会继续转发流量,产生大量错误
手动改集群效率高:生产手动变更无法审计、无法回滚,出问题风险极高
课后练习
列出生产集群必备的 3 个核心组件,并说明作用
说明为什么必须配置资源限制和健康检查
设计一套 3 节点小型生产集群的部署架构
思考:为什么生产环境禁止直接手动修改集群资源?

