- 本文是 Kubernetes operator学习 系列第八篇,本节会对 编写Operator非常重要 的 controller-runtime 库进行学习
- 基于 kubernetes v1.24.0 代码分析
- Kubernetes operator学习系列 快捷链接
- Kubernetes operator(一)client-go篇
- Kubernetes operator(二)CRD篇
- Kubernetes operator(三)code-generator 篇
- Kubernetes operator(四)controller-tools 篇
- Kubernetes operator(五)api 和 apimachinery 篇
- Kubernetes operator(六)CRD控制器 开发实战篇
- Kubernetes operator(七) kubebuilder 的安装及简单使用 篇
- Kubernetes operator(八) controller-runtime 篇
1.controller-runtime 项目简介
1.1.controller-runtime 项目是什么
- 在 Kubernetes operator(五)api 和 apimachinery 篇 中,我们介绍了 kubernetes/staging下的两个项目:api 和 apimachinery,他們目前仍旧在kubernetes的内部
- 而 controller-runtime 是 kubernetes-sigs 组织下的一个独立项目,是为了引导用户编写 最佳实践的Operator 而设计的。kubebuilder 和 Operator SDK 都是在controller-runtime的基础上,进一步封装而成。
- 使用kubebuilder的时候,很多自动生成的代码,都是使用了 controller-runtime 的能力
- controller-runtime 的 github地址:https://github.com/kubernetes-sigs/controller-runtime