万物皆可operator之二,kubebuilder工具实现demo开发

本文详细介绍了如何利用kubebuilder创建并开发一个Operator demo。通过新建CRD,当Controller检测到CRD资源后,自动创建Deployment启动Pod。文章包括创建目录、生成Go模块、定义API、编写Controller代码、修改单元结构体以及部署测试的步骤,并展示了成功运行的效果。然而,删除CRD时,关联的Deployment不会自动删除,需手动操作。
摘要由CSDN通过智能技术生成

本文将介绍使用上一文中搭建的kubebuilder环境开发一个operator demo。

demo功能介绍:
新建一个crd,只有一个字段 image,当我们的controller watch到有对应的crd资源创建后,使用该image创建对应的deployment,进而拉起对应的pod。

1、选择一个目录,创建Unit目录后,去执行下边的命令

mkdir Unit
cd Unit
go mod init Unit

会生成go.mod文件
在这里插入图片描述

2、然后执行,domain可自己定义。

kubebuilder init --domain my.crd.com

执行成功截图
在这里插入图片描述

3、创建我们的api

kubebuilder create api --group custom --version v1 --kind Unit

各参数含义:
在这里插入图片描述

4、上述步骤都执行成功后,就已经有了一个基本的开发框架了。 我们只需要在controller中实现我们的设计即可。

5、controller开发,代码如下

func (r *UnitReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
   
	ctx := context.Background()
	log := r.Log.WithValues("unit", req.NamespacedName)

	// your
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值