什么是Kubernetes Client-JavaAPI获取所有部署

What's the Kubernetes Client-Java API to get all deployments

我一直在探索 Kubernetes-Client/Java library,但我无法弄清楚 API 获取所有部署的调用。

我正在寻找此命令的 K8-Client/Java API 调用:

kubectl get deployments
NAME             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
appservice1       3         3         3            3           5d
appservice2       3         3         3            3           1d
appservice3       1         1         1            1           22d

更具体地说,我有兴趣确定每个部署(如上)所需和当前 pods 的数量。

您可以在这里找到 Kubernetes java 客户端的所有方法: https://github.com/kubernetes-client/java/tree/master/kubernetes/docs

您要搜索的是 listNamespacedDeploymentlistDeploymentForAllNamespaces

这些方法的 return 类型是 V1DeploymentList 所以你会发现 V1DeploymentStatus 包含关于当前 pods 数量的所有信息部署。

还有一个kubernetes jave client and here is the example of deployments

请注意,官方库是由 swagger 生成的,没有很好地组织(我认为)。

为了列出kubernetes中的一些资源,首先你必须找到这个资源类型属于哪个apiVersion。 对于部署,它是 apiVersion: apps/v1

AppsV1Api appsV1Api = new AppsV1Api();
appsV1Api.listNamespacedDeployment or listDeploymentForAllNamespaces