CRD 与 Operator
쿠버네티스 API 서버에 새로운 리소스 타입을 등록하고, 그 타입을 돌보는 조정 로직을 손으로 만들어 봅니다. OpenAPI v3 스키마와 CEL 로 검증을 API 서버에 맡기고, 소유자 참조·status 서브리소스·파이널라이저로 리소스의 일생을 관리하며, 오퍼레이터의 권한 경계를 직접 검증합니다. 이 코스는 진짜 etcd 와 kube-apiserver 가 도는 클러스터 위에서 진행됩니다.
고급 · 레슨 30 · 实验 10
커리큘럼
为什么要 CRD
- 把一堆 values 变成 API reading
- 测验:为什么要 CRD quiz
编写并部署 CRD
- schema、子资源、版本 — CRD 的三条轴 reading
- 定义 WebService 类型并注册到 API lab
- 把校验甩给 API Server lab
- 测验:编写并部署 CRD quiz
用 CR 部署应用
- CR 既是部署的输入,也是状态报告 reading
- 从一份 CR 生成下层资源与状态 lab
- 测验:用 CR 部署应用 quiz
Operator 模式与调谐循环
- 调谐 — 观测、比较、行动、汇报四拍 reading
- 用 shell 做一个调谐循环 lab
- 测验:Operator 模式与调谐循环 quiz
Operator 的运维
- 安装顺序、权限边界、升级 reading
- 安装 Operator 并验证权限边界 lab
- 测验:Operator 的运维 quiz
把副本数调大了却什么都没发生
- kubectl scale 是怎么认识我自定义的类型的 reading
- 把副本数调大了却什么都没发生 - scale 子资源的约定 lab
- 测验:scale 子资源 quiz
删掉旧版本后对象不见了
- 存下来的和展示出来的并不是一回事 reading
- 删掉旧版本后对象不见了 - 存储版本迁移的完整步骤 lab
- 测验:存储版本迁移 quiz
删了父对象,子对象却还在
- 删除的时候到底发生了什么 reading
- 删了父对象,子对象却还在 - 属主引用与删除传播 lab
- 测验:属主引用与删除传播 quiz
日志里有,用户却看不到
- 事件不是日志 reading
- 日志里有,用户却看不到 - 让 Operator 开口说话 lab
- 测验:Operator 与事件 quiz
调谐跑了两次
- 出现两个领导者的那一刻 reading
- 调谐跑了两次 - 租约过期、接管与事故诊断 lab
- 测验:领导者选举 quiz