Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
K8s Native Application; Operator = CRD + control loop, i.e, Declaretive API + Automation; kubebuilder + controller-runtime + helm Operator Capability Levels Installation of the workload • Operator stale cache 下能保证 operator 的正确性,前提是 operator 要收到所有对象的事件。 Operator 最佳实践 第三部分 Operator 开发常见概念关系 Kubebuilder 框架模型 Setup 阶段接口 // For defines the type of Object being *reconciled*, and configures the ControllerManagedBy 表达式运行定时任务的对象叫 CronJob,本次实验会用 Kubebuilder 构建一个 Operator,重新实现 CronJob 的 功能(实验链接)。本次实验目标: 1. 通过实验,对 Operator 有一个真实体感,加深基础知识理解 2. 实验中覆盖 Kubebuilder 框架大部分功能特性,以便对 kubebuilder 有一个全面熟悉和了解 3. 实验以实现一个生产环境可用的0 码力 | 21 页 | 3.06 MB | 9 月前3sealos 以 kubernetes 为内核的云操作系统
Sealos 绝大多数能力通过 CRD 扩展,以保持与 kubernetes API 完全兼容。 可以复用 k8s API 的强大能力, 而且生态的各种 SDK 可以直 接使用。 推荐使用 kubebuilder 框架去生 成很多代码。 权限限制 禁止掉所有用户越权操作,如查看主机 namespace 共享主机端口,共享主机文件系统等操作 以保障多租户之间相互共享一个集群是安全的 User0 码力 | 29 页 | 7.64 MB | 9 月前3
共 2 条
- 1