我创建了一个有两个容器的Pod-一个容器创建成功,而另一个容器创建失败。
现在,当我执行以下命令时,我看到“状态”为“错误”:
C:\Users\test123>kubectl get pod pod3-two-nginx-containers-port-error
NAME READY STATUS RESTARTS AGE
pod3-two-nginx-containers-port-error 1/2 Error 0 134m
但当我执行以下命令时,我看到“状态”为“正在运行”:
C:\Users\test123>kubectl describe pod pod3-two-nginx-containers-port-error
Name: pod3-two-nginx-containers-port-error
Namespace: default
Priority: 0
Node: minikube/192.168.49.2
Start Time: Thu, 18 Mar 2021 12:50:19 +0530
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.0.9
IPs:
为什么Kubernetes显示错误的状态?
1条答案
按热度按时间a2mppw5e1#
Kubernetes没有显示错误的状态。
kubectl get pod <<POD_NAME>>
命令,您可以获取Pod的状态。kubectl describe pod <<POD_NAME>>
,您可以获得Pod阶段的状态。kubectl describe pod
为您提供的状态为RUNNING,因为Pod已绑定到节点+所有container已创建+至少一个container仍在运行。请阅读有关Pod阶段的详细信息。另请阅读有关Pod条件的信息。kubectl get pod
给你的状态为错误,因为Pod不是在健康状态。现在我没有链接,你可以阅读什么状态字段的意思在kubectl get pod
,但可能我会找到并分享后。另一种验证方法是运行
kubectl get pods --field-selector=status.phase=Running
命令。如果您在此处列出Pod,则另一种方法是您可以确保kubectl describe pod
命令中显示的状态是Pod阶段的状态。