cfanbo / cfanbo.github.io

1 stars 0 forks source link

k8s 中 CRD controller 开发教程 | 学习笔记 #203

Open cfanbo opened 1 year ago

cfanbo commented 1 year ago

https://blog.haohtml.com/archives/34973/

本文主要介绍 crd controller 的基本开发过程,让每一个刚接触k8s开发的同学都可以轻松开发自己的控制器。 kubebuilder 简介 kubebuilder 是一个帮助开发者快速开发 kubernetes API 的脚手架命令行工具,其依赖 controller-tools 和 controller-runtime 两个库。其中 controller-runtime 简化 kubernetes controller 的开发,并且对 kubernetes 的几个常用库进行了二次封装, 以简化开发工程。而 controller-tool 主要功能是代码生成。 下图是使用 kubebuilder 的工作流程图: 安装 kubebuilder # download kubebuilder and install locally. ➜ curl -L -o kubebuilder "https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH)" ➜ chmod +x kubebuilder && mv kubebuilder /usr/local/bin/ 确认安装成功 ➜ kubebuilder version Version: main.version{KubeBuilderVersion:"3.11.1", KubernetesVendor:"1.27.1", GitCommit:"1dc8ed95f7cc55fef3151f749d3d541bec3423c9", BuildDate:"2023-07-03T13:10:56Z", GoOs:"darwin", GoArch:"amd64"} 相关命令 ➜ kubebuilder --help CLI tool for building Kubernetes extensions and tools.