我是库伯内斯的新手,我想知道是否有更好的属性来准确描述Pod的状态
Kubernetes version: Kubernetes v1.27.3
java client maven:
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java</artifactId>
<version>18.0.1</version>
</dependency>
我正在具有两个 node 的Kubernetes集群中进行测试.我正在关闭从 node 上的Kubelet服务,以模拟从 node 的连接中断,从而允许将从 node 的Pod自动调度到主 node
当我使用以下命令时:
kubectl get po -n my-namespace -o wide
我们可以看到
nginx1-74499f547c-gbdzf 1/1 Running 0 6h10m 10.244.0.55 kylin-master <none> <none>
nginx1-74499f547c-xndkm 1/1 Terminating 0 8h 10.244.2.24 kylin-worker02 <none> <none>
显然,nginx1-74499f547c-xndkm
的状态是Terminating
但是,当我使用以下代码检索Pod并遍历它以找到同名的Pod时
CoreV1Api coreV1Api = new CoreV1Api();
V1PodList v1PodList;
try{
v1PodList = coreV1Api.listNamespacedPod(tenxOpenApiConfig.getTeamSpace(), null, null, null, info, null, null, null, null, null, null);
for (V1Pod item : v1PodList.getItems()) {
// .....
}
}
// ......
豆荚的名字是nginx1-74499f547c-xndkm
,但item.status.phase="Running"
.
我不明白为什么会发生这样的事情,这是个漏洞吗?尽管如此,status.phase
并不适合表示Pod状态.
期待您的帮助.