学习📝记录:项目来源kubebuilder官网,别的不多说,学啥你不得先把官网来一遍吗
1、版本先check下
官网上的Prerequisites, 这一步必不可少~~
go version v1.15+ (kubebuilder v3.0).
go version v1.16+ (kubebuilder v3.1+).
docker version 17.03+.
kubectl version v1.11.3+.
Access to a Kubernetes v1.11.3+ cluster.
go version
docker version
kubectl version
2、先造个空项目感受下
# 先进到对应的目录
-> % cd ~/go/src && mkdir guestbook && cd guestbook
# 初始化项目
-> % kubebuilder init --domain my.domain --repo my.domain/guestbook
# 创建API 著名的GVK;api和controller都有很多玩法~ 后面慢慢来
kubebuilder create api --group webapp --version v1 --kind Guestbook
# 安装CRD & 运行operator
make install && make run
# 新建CR实例
kubectl apply -f config/samples/
# 本地k8s部署operator,就不push了, deploy这里需要大量的权限,注意去官网上看RBAC说明
# 还是那句话,花点钱吧,VPN不香吗。实在是不想花钱,就阿里云吧
make docker-build docker-push IMG=zhangting9391/guestbook:v1
make deploy IMG=zhangting9391/guestbook:v1
# 完事了就卸载吧
make uninstall
make undeploy
效果是出来了,但是还是满脸问号???
- 项目是怎么发现我的k8s集群的
- operator怎么指定安装在哪里
- 权限管理是怎么做的,安装operator需要哪些权限
- 控制逻辑要怎么写
- 怎么watch我自己的资源
- 资源应该怎样来定义
- operator是怎样部署到k8s集群里面的
本来想一次写完,可是发现贴图太大了,编辑的时候不爽,另起一篇吧~