代码所在位置
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
<
-

本文探讨了kubernetes的扩展性,重点关注Operator的编写,包括k8s控制层、client-go库的使用以及控制器的工作逻辑。介绍了如何利用client-go与api server交互,通过informer和listers获取资源信息,并讨论了controller如何实现资源状态的同步。
1489

被折叠的 条评论
为什么被折叠?



