主要观点:Wikimedia Toolforge 平台从 Kubernetes PodSecurityPolicy 迁移到 Kyverno 的经验和教训。
关键信息:
- Toolforge 是基于 Kubernetes 的平台服务,由 WMCS 维护,有 3500 个工具账户。
- 2019 年采用 PSP 确保 Pod 有正确运行时配置,2021 年宣布 PSP 机制将被弃用。
- 决定用 Kyverno 替代 PSP,进行代码重构和制定 Kyverno 策略。
- 重构过程中遇到文件系统交互慢等问题,经过修正。
- 分阶段迁移,包括更新模板生成器、引入 Kyverno 策略等,但在部署 3500 个 Kyverno 策略资源时导致生产集群宕机。
- 采取一系列措施后系统稳定,包括修正外部 HAproxy 健康检查、创建更真实开发环境、增加控制平面服务器内存等。
- 还发现并修复了 Kyverno 中关于“procMount”的错误。
- 整个迁移项目耗时约三个月。
重要细节: - 内部软件 maintain-kubeusers 负责处理账户相关操作,重构后引入了正确的协调循环。
- 在 lima-kilo 环境中进行开发和测试,最初计划分阶段迁移 PSP 到 Kyverno 策略。
- 生产集群宕机是因为未充分测试大量策略资源,经多次调整后系统稳定。
- 发现“procMount”错误并向上游提交补丁。最终成功完成迁移,禁用了 PSP。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。