Kubernetes Java Client[1] 17.0.0 的 发布[2] 提供了对 Kubernetes 1.25 的[3]支持[4],提供了动态检索信息的能力,例如用于监控目的,并允许更改和删除 Kubernetes 集群中的对象。Kubernetes 客户端可以用作命令行 Kubernetes 工具的替代品。
添加如下 Maven 依赖后即可使用 Kubernetes Java Client:
或者,可以使用以下 Gradle 依赖项:
CoreV1API 提供了大量的方法,比如获取所有的 pod,示例如下[5]
该 方法通过指定方法的参数提供了许多配置选项:
除了检索信息之外,还可以更改项目,甚至删除项,例如 从一个 namespace 中移除 pod:
该 命令显示来自正在运行的容器的日志,类似于以下 API 调用:
除了检索单个结果外,还可以通过将 方法的参数设置为 来 监视事件 。这相当于 命令。例如,要观察 中的变化并打印它们:
一些高级用例需要 添加以下 Maven 依赖项后才能使用的模块:
或者,可以使用以下 Gradle 依赖项:
一个更高级的用例是列表请求的分页,它减少了服务器端负载和网络流量。例如,一次检索五个名称空间,而不是一次检索所有名称空间:
更多信息和示例可以在文档[6]中找到。
参考资料
[1]
Kubernetes Java Client: https://github.com/kubernetes-client/java
[2]
发布: https://github.com/kubernetes-client/java/releases/tag/v17.0.0
[3]
Kubernetes 1.25 的: https://kubernetes.io/
[4]
支持: https://github.com/kubernetes-client/java/wiki/2.-Versioning-and-Compatibility
[5]
示例如下: https://raw.githubusercontent.com/kubernetes-client/java/master/kubernetes/src/main/java/io/kubernetes/client/openapi/apis/CoreV1Api.java
[6]
文档: https://github.com/kubernetes-client/java/wiki
领取专属 10元无门槛券
私享最新 技术干货