策略即代码
"라벨을 꼭 다세요" 라고 위키에 적어 두면 반년 뒤에 아무도 안 지킵니다. 같은 규칙을 ClusterPolicy 로 쓰면 클러스터가 대신 지킵니다. 이 코스는 어드미션 컨트롤이라는 자리부터 시작해 validate·mutate·generate 세 가지 규칙을 직접 쓰고, kyverno CLI 로 정책을 로컬에서 돌려 결과를 확인합니다. 이어서 쿠버네티스가 스스로 들고 있는 정책 기구(ValidatingAdmissionPolicy 와 파드 보안 어드미션)를 진짜 API 서버에 걸어 보고, 정책을 시험하는 법과 클러스터 밖 산출물(테라폼 계획·이미지 참조)에 정책을 거는 법, 적용 범위와 고장 모드를 다룹니다. 마지막에는 Audit 으로 관측하고 예외에 만료를 붙여 정리한 뒤 Enforce 로 올리는 실제 도입 순서를 익힙니다.
고급 · 레슨 30 · 实验 10
커리큘럼
准入控制的概念
- 请求抵达 etcd 之前 — 准入这个位置 reading
- 测验:准入控制的概念 quiz
validate 策略
- validate — 模式、deny,以及匹配范围 reading
- 写必填标签与仓库限制的策略 lab
- 测验:validate 策略 quiz
mutate 与 generate
策略例外与报告
- 从 Audit 到 Enforce — 真正把策略打开的顺序 reading
- 当初情急之下手动加上的例外,两年后仍然留在那里 lab
- 测验:策略例外与报告 quiz
Kubernetes 自己做检查
一个标签打开 Pod 安全标准
- Pod 安全标准与准入 — 等级和模式是不同的维度 reading
- 只开着警告就切到 enforce,结果部署全停了 lab
- 测验:一个标签打开 Pod 安全标准 quiz
策略也需要测试
- 策略测试 — 把通过和拒绝一起钉住 reading
- 规则被放宽了,那天的测试却依然是绿灯 lab
- 测验:策略也需要测试 quiz
在抵达集群之前就拦下来
- 用策略读计划 — 在应用前抓住销毁、替换和暴露范围 reading
- 退出码是 0,于是流水线连续几周都亮着绿灯 lab
- 测验:在抵达集群之前就拦下来 quiz
标签是名字,摘要才是身份
- 镜像引用策略 — 标签、摘要,以及叠在上面的东西 reading
- 标签一个字没改,起来的却不是昨天那个 lab
- 测验:标签是名字,摘要才是身份 quiz
策略一坏,集群就停
- 范围与故障模式 — 开启策略那天的顺序 reading
- 只把一个 Webhook 改成 Fail,集群就停了 lab
- 测验:策略一坏,集群就停 quiz