使用operator-sdk初始化operator
1. 初始化工程
1 | mkdir -p $HOME/GolandProjects/microservice-operator |

执行命令后需要等待一会,依赖网速,等到命令执行完成。

这一步对工程的依赖包进行了拉取,初始化工程后的所有初始文件如下入所示:

2. 创建API和控制器Controller
1 | operator-sdk create api --group app --version v1alpha1 --kind Microservice --resource --controller |
这一步将会创建api和controllers目录及下面的api定义以及Controller。
注意:group会拼接上第一步的 domain,注意不要重复配置了,比如domain设置unclejoke.cn,group设置app.unclejoke.cn,在CRD中会体现为app.unclejoke.cn.unclejoke.cn,出现了就删掉目录,重新来过。
3. 调整crd定义结构体
修改api/v1alpha1/microservice_types.go文件,自定义 MicroserviceSpec 和 MicroserviceStatus 结构体,然后执行make manifests命令,生成config/crd/bases目录下的crd定义文件资源对象。
4. 重新生成deepCopy 和 crd定义
1 | make generate && make manifests |
5. 执行install操作,将crd安装到本地集群(.kube/config)
1 | make install |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 楚歌!
