Kubernetes Java 客户端17.0.0的发布提供了对Kubernetes 1.25 的支持,提供了动态检索信息的能力,例如用于监控目的,并允许更改和删除 Kubernetes 集群中的项目。Kubernetes 客户端可以用作命令行 Kubernetes 工具的替代品:。kubectl [argument]
添加如下 Maven 依赖后即可使用 Kubernetes Java Client:
或者,可以使用以下 Gradle 依赖项:
CoreV1API提供了大量的方法,比如获取所有的 pod :
该listPodForAllNamespaces()方法通过指定方法的参数提供了许多配置选项:
除了检索信息之外,还可以更改项目,甚至删除项目,例如 a podfrom a namespace:
该kubectl logs命令显示来自正在运行的容器的日志,类似于以下 API 调用:
除了检索单个结果外,还可以通过将watch方法的参数设置为 来监视事件Boolean.TRUE。这相当于kubectl get <resource> -w命令。例如,要观察 a 中的变化namespace并打印它们:
一些高级用例需要client-java-extended添加以下 Maven 依赖项后才能使用的模块:
或者,可以使用以下 Gradle 依赖项:
一个更高级的用例是列表请求的分页,它减少了服务器端负载和网络流量。例如,一次检索五个名称空间,而不是一次检索所有名称空间:
关于作者,约翰·詹森ASML 的架构师,喜欢主要围绕 Java 分享知识。在 Devoxx、Oracle Code One、Devnexus 等会议上发表演讲。通过参与程序委员会协助会......。