k8s官方提供了自动生成Java模型代码的工具,使用指南:传送门。
提供有两种方法:github action远程生成、本地docker镜像生成。
本地docker镜像生成很简单,跟着官方指南下载镜像执行命令即可,本文主要记录一下如何使用github action远程生成模型代码。
通过github action远程生成Java模型代码
1.fork kubernetes-client/java 仓库到自己的github
2.执行github action
这里要注意yaml文件路径的填写,必须是直接指向yaml文件才行。
一开始我直接引用的是yaml文件github上的地址:https://github.com/apache/flink-kubernetes-operator/blob/main/helm/flink-kubernetes-operator/crds/flinkdeployments.flink.apache.org-v1.yml
会报以下错误:
后面使用yaml文件的raw路径即可成功
3.下载生成的Java代码
问题
生成的代码会有一些小问题,例如:引用了不存在的IoK8sApimachineryPkgApisMetaV1ObjectMetaV2
类、没有implements KubernetesObject
等。详见:#1710
官方到现在也没有修复,只有自己手动修改一下了。