我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢迎大家来喝茶!
1 Kubernetes Java客户端
对于Kubernetes
集群的操作,官方提供了命令行工具kubectl
,这也是我们最常用且必须掌握的方式。通过kubectl
来实现增删改查操作,方便而直接。但总有一些更复杂的场景难以满足,比如我希望在数据库的某个值达到10万后就触发一个Kubernetes Job
去处理某项任务。即使shell
编程似乎也可以解决,但为了项目维护,如果能整合到现有代码里,岂不是更好?
从Kubernetes
的架构图可以看出,我们只要和API server
做好交互就可以了,实际上kubectl
也是如此的。那我们就可以使用任何语言来操作Kubernetes
。
本文将介绍Java
方面最好用的客户端库fabric8io/kubernetes-client
,它支持Kubernetes
和OpenShift
,并被许多项目引用,如Spring Cloud
、Spark
、Istio Java API
等,可见它的优秀之处。
2 如何使用
本文将通过代码演示一些常用操作。
2.1 引入依赖
目前的最新版本为5.0.0
,通过maven
引入最新依赖如下:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>5.0.0</version>
</dependency>
这个依赖包含了相关的核心类、模型类、Json
和okhttp3
等。