[root@k8s-master1 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-3 1/1 Running 2 (34m ago) 14h
-
NAME
:Pod 的名稱。 -
READY
:代表 Pod 里面有幾個容器,前面是啟動的,后面是總數(shù), 1 / 1 1/1 1/1。 -
STATUS
:就是當(dāng)前 Pod 狀態(tài),最常見的就是Running
正在運行,最期望的狀態(tài),只要不是Running
的就說明有問題,就算是Running
的就不一定沒有問題。
|
|
---|---|
Pending 掛起 |
在執(zhí)行創(chuàng)建 Pod 過程中,命令行已經(jīng)執(zhí)行,Pod 已經(jīng)被 K8s 系統(tǒng)接受,但仍有一個或多個容器未被創(chuàng)建,可以通過 kubectl describe 查看處于 Pending 狀態(tài)的原因。 |
Running 運行中 |
Pod 已經(jīng)被綁定到一個節(jié)點上,并且所有的容器都已經(jīng)被創(chuàng)建,而且至少有一個是運行狀態(tài),或者是正在啟動或者重啟,可以通過 kubectl logs 查看 Pod 的日志。 |
Succeeded 成功 |
所有容器執(zhí)行成功并終止,并且不會再次重啟,可以通過 kubectl logs 查看 Pod 的日志 |
Failed 失敗 |
至少有一個容器沒有正常退出,以失敗告終,在 Linux 上每個命令都有個狀態(tài)值和信號值,狀態(tài)值正常是 0 ? 255 0-255 0?255 之間,正常狀態(tài)值為 0 0 0,容器的創(chuàng)建狀態(tài)只要是非 0 0 0 就是異常的。 |
Unknown 未知 |
通常是是通信出問題了,不知道狀態(tài)是啥通常是 Uknown 。 |
imagePullBackOffErrimagePull 鏡像拉取失敗 |
鏡像拉取失敗,一般是由于鏡像不存在、網(wǎng)絡(luò)不通或者需要登錄認證引起的,可以使用 describe 命令查看具體原因。 |
CrashLoopBackOff 容器啟動失敗 |
容器啟動失敗,有可能是打的鏡像文件本身就有問題,不能正常來啟動,可以通過 logs 命令查看具體原因,一般為啟動命令不正確,健康檢查不通過等。 |
OOMKilled 內(nèi)存溢出 |
內(nèi)存溢出,運行的容器本身出現(xiàn)內(nèi)存溢出,Tomcat JVM 棧基于 JVM 做各種各樣的內(nèi)存限制,對容器本身要做資源限制,一旦容器本身資源不夠了,我們對這個容器本身資源限制和 JVM 那種內(nèi)存沖突了,比如 JVM 需要 4 個 G,結(jié)果容器只給 2 個 G,那這樣就出現(xiàn)內(nèi)存溢出,不夠用;還有一種方式,程序本身有問題,JVM 和容器內(nèi)存限制都夠用,還是內(nèi)存溢出了。JVM 本身給的內(nèi)存不夠用造成的報錯叫 OOM 內(nèi)存溢出錯誤,一旦出現(xiàn)這種錯誤,容器或者程序本身會自動 kill 掉,程序一旦自己把自己 kill 掉意味著容器就沒了,這個 OOM 就是容器里面的程序內(nèi)存溢出了,一般是內(nèi)存限制設(shè)置太小。 |
Terminating 終止 |
Pod 正在被刪除,可以通過 describe 查看狀態(tài)。 |
SysctlForbidden 內(nèi)核啟動失敗 |
和 Linux 內(nèi)核相關(guān),在啟動 Pod 的時候加了一些內(nèi)核的需求,但是沒有開放需求,就會造成內(nèi)核啟動失敗。 |
Completed 主進程退出 |
容器內(nèi)部主進程退出, 一般計劃任務(wù)執(zhí)行結(jié)束會顯示該狀態(tài)。 |
ContainerCreateing 創(chuàng)建容器 |
Pod 正在創(chuàng)建, 一般為正在下載鏡像, 或者有配置不當(dāng)?shù)牡胤剑?可以通過 describe 查看具體原因。 |
[root@k8s-master1 ~]# kubectl describe pods nginx-3
Name: nginx-3
#pod名字
Namespace: default
#Namespace
Priority: 0
#優(yōu)先級
Service Account: default
#默認使用default
Node: k8s-node1.guoguo.com/192.168.1.101
#綁定的節(jié)點node1
Start Time: Sun, 06 Aug 2023 17:32:26 +0800
#創(chuàng)建的時間
Labels: app=nginx
#標(biāo)簽,如果我們沒有加標(biāo)簽,會自動加一個標(biāo)簽。如果是pod通常是run=pod名稱
env=dev
Annotations: cni.projectcalico.org/containerID:
#資源注解
a121ada4cbabc46e302ba38008a7d6887f8f4035c8b42f781233f4fa3013bd96
cni.projectcalico.org/podIP: 192.26.131.132/32
#pod的ip
cni.projectcalico.org/podIPs: 192.26.131.132/32
Status: Running
#當(dāng)前狀態(tài)
IP: 192.26.131.132
#pod ip
IPs:
IP: 192.26.131.132
Containers:
nginx:
Container ID: containerd://57a204528d873a006134dcb7e58739b6adcbbd1b299d4b7e4984c451d47af86c
Image: harbor.guoguo.com/apps/ubuntu-nginx:1.22.1
#鏡像
Image ID: harbor.guoguo.com/apps/ubuntu-nginx@sha256:8818a74320ea5451b340d47faadba66cc9f582c9b734526c65076808412803a1
Port: 80/TCP
Host Port: 0/TCP
State: Running
Started: Mon, 07 Aug 2023 07:24:36 +0800
Last State: Terminated
Reason: Unknown
Exit Code: 255
Started: Sun, 06 Aug 2023 21:17:40 +0800
Finished: Mon, 07 Aug 2023 07:23:29 +0800
Ready: True
Restart Count: 2
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-9lwkh (ro)
Conditions:
Type Status
#類型 #狀態(tài)
Initialized True
#初始化 #成功
Ready True
#準(zhǔn)備 #成功
ContainersReady True
#容器準(zhǔn)備 #成功
PodScheduled True
#pod調(diào)度 #成功
Volumes:
#卷組
kube-api-access-9lwkh:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
#服務(wù)類
Node-Selectors: <none>
#沒有節(jié)點選擇 #為none就說明沒有給Node-selectors提特殊的節(jié)點選擇
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events: <none>
文章來源地址http://www.zghlxwxcb.cn/news/detail-791953.html
文章來源:http://www.zghlxwxcb.cn/news/detail-791953.html
到了這里,關(guān)于【Kubernetes】K8s 查看 Pod 的狀態(tài)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!