前言 👻
这段时间一直在使用java和k8s开发项目,自然就无法避免需要java客户端去操作k8s和docker registry。这里简单介绍下,基于上一篇文章使用operator-sdk自定义k8s operator生成的crd文件,java如何使用客户端去操作crd对象。
java-client 🤔
由kubernetes官方维护的java客户端项目: java-client,虽然不是很完美,但是基本可以使用了,支持deployment,service,statefulSet等,甚至你可以使用它来开发java 版的operator,如果你想的话。
该项目不同版本的兼容性不同,截止到本文书写时,该项目兼容性列表如下:
client version | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 |
---|---|---|---|---|---|---|
5.0.0 | ✓ | - | - | x | x | x |
6.0.1 | + | ✓ | - | - | x | x |
7.0.0 | + | + | ✓ | - | - | x |
8.0.2 | + | + | + | ✓ | - | - |
9.0.2 | + | + | + | + | ✓ | - |
10.0.0 | + | + | + | + | + | ✓ |
java-client 支持基于crd自动生成java crd对象代码,详情请看:自动生成java代码
java-client 支持像命令行一样使用kubectl(大雾🤣,我开发的时候还没发布)。支持 create
apply
delete
等等
详情请看: Kubectl Equivalence in Java
java-client 支持泛型,可以避免unchecked警告,简直就是强迫症福音。
更多代码demo可以参考:kubernetes-java-client-example
本博客所有文章除特别声明外,均采用: 署名-非商业性使用-禁止演绎 4.0 国际协议,转载请保留原文链接及作者。