kubebuilder

官网https://book.kubebuilder.io/
中文文档https://cloudnative.to/kubebuilder/
学习链接operator实战

一 简介

在这里插入图片描述
kubebuilder也是一个脚手架,帮助我们更快的编写operator

二 安装

linux && mac

os=$(go env GOOS)
arch=$(go env GOARCH)

# 下载 kubebuilder 并解压到 tmp 目录中
curl -L https://go.kubebuilder.io/dl/2.3.1/${os}/${arch} | tar -xz -C /tmp/

# 将 kubebuilder 移动到一个长期的路径,并将其加入环境变量 path 中 
# (如果你把 kubebuilder 放在别的地方,你需要额外设置 KUBEBUILDER_ASSETS 环境变量)
sudo mv /tmp/kubebuilder_2.3.1_${os}_${arch} /usr/local/kubebuilder
export PATH=$PATH:/usr/local/kubebuilder/bin

三 初始化

go mod init test
kubebuilder init --domain test.org --license apache2 --owner "The Kubernetes demo"
kubebuilder create api --group test  --version v1beta1 --kind Test 
kubebuilder create webhook --group test --version v1beta1 --kind Test --defaulting --programmatic-validation
#这里有个小坑 因为我们初始化kind必须为大写开头 在go中小写开头表示包外不可见 
#无法被引用到就会出问题

在这里插入图片描述
在部署前 需要在k8s集群中初始化rbac的权限
make install
make run

四 源码调用剖析

这里参照 operator-sdk
https://blog.csdn.net/weixin_45413603/article/details/108159043

相关推荐
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页