代码所在位置
https://github.com/mafa1993/kubernetes-learn/tree/main/operator/client-go
k8s可以扩展的地方
-
kubectl
-
api server , 阻止请求、编辑请求、删除请求等
-
利用label和annotate来进行k8s资源的修改
-
crd,自定义资源
-
scheduler
-
kubelet,CSI CNI CRI
-
controller manager 控制器集合
-
custom controller
-
client go
k8s controler
-
一般推荐一个controller追踪至少一种k8s资源
-
将status达到spec定义的状态
-
不同控制器可以相互配合实现复杂任务
-
使用client go和api server进行交互
client go
-
源码地址 https://github.com/kubernetes/client-go
-
client-go目录讲解
-
kubernetes 保存了所有k8s api访问的client
-
informer
-
listers 读取缓存中k8s的资源信息
-
discovery 用于发现api server支持的api
-
dynamic 用于操作资源对象
-