1. NeoSet 是什么
NeoSet 是一个生产级高级 StatefulSet,支持原地升级、金丝雀发布、分批发布、用旧镜像扩容、历史版本回滚
NeoSet 是一个生产级高级 StatefulSet,支持原地升级、金丝雀发布、分批发布、用旧镜像扩容、历史版本回滚
NeoSet 完整的 spec/status Go 类型定义:更新策略、金丝雀参数、分批控制、版本管理、进度追踪
用 ControllerRevision 存 NeoSet 的历史版本快照、实现 rollout undo 回滚、跟 status.currentRevision 协作
用 Mutating Webhook 填默认值、Validating Webhook 校验配额和参数合法性——防止误操作
NeoSet 核心能力:不删 Pod,PATCH container image 实现原地升级。完整代码包括 PATCH 逻辑、image hash 追踪、container restartPolicy 处理
Partition + MaxUnavailable 状态机实现金丝雀发布、分批发布、暂停/恢复逻辑
发版途中扩容时新 Pod 用稳定版本镜像(currentImage),不让新老版本混杂。完整代码包括扩缩容逻辑、稳定版本追踪、Pod 创建
原地更新后的 readiness 检查、status conditions 设计、kubectl rollout status 支持、进度可观测性
NeoSet Controller 的生产化:Leader Election、Prometheus 指标、e2e 测试、Dockerfile、部署 YAML、完整项目结构