上文,我們已經(jīng)學(xué)習(xí)了如何配置初始化鏡像,那么本文將帶大家學(xué)習(xí)如何Debug初始化容器。
ps: 本文使用
<pod-name>
來指代Pod的名稱,使用<init-container-1>
和<init-container-2>
來指代初始化容器的名稱。
檢查初始化容器的狀態(tài)
執(zhí)行命令,查看 Pod 的狀態(tài):
kubectl get pod <pod-name>
例如,狀態(tài)如果是 Init:1/2
,則表明了兩個初始化容器當(dāng)中的一個已經(jīng)成功執(zhí)行:
NAME READY STATUS RESTARTS AGE
<pod-name> 0/1 Init:1/2 0 7s
查看初始化容器的詳情)查看初始化容器的詳情
查看初始化容器的更多信息:
kubectl describe pod <pod-name>
假設(shè) Pod 包含兩個初始化容器,顯示結(jié)果可能如下所示:
Init Containers:
<init-container-1>:
Container ID: ...
...
State: Terminated
Reason: Completed
Exit Code: 0
Started: ...
Finished: ...
Ready: True
Restart Count: 0
...
<init-container-2>:
Container ID: ...
...
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 1
Started: ...
Finished: ...
Ready: False
Restart Count: 3
也可以直接讀取 Pod 的 status.initContainerStatuses
字段,命令行如下所示:
kubectl get pod <pod-name> --template '{{.status.initContainerStatuses}}'
該命令將以 JSON 格式返回信息
查看初始化容器的日志
執(zhí)行命令查看初始化容器的日志:文章來源:http://www.zghlxwxcb.cn/news/detail-427968.html
kubectl logs <pod-name> -c <init-container-1>
理解 Pod 狀態(tài)
如果 Pod 的狀態(tài)以 Init:
開頭,表示該 Pod 正在執(zhí)行初始化容器。下表描述了 Debug 初始化容器的過程中,一些可能出現(xiàn)的 Pod 狀態(tài):文章來源地址http://www.zghlxwxcb.cn/news/detail-427968.html
狀態(tài) | 描述 |
---|---|
Init:N/M |
Pod 中包含 M 個初始化容器,其中 N 個初始化容器已經(jīng)成功執(zhí)行 |
Init:Error |
Pod 中有一個初始化容器執(zhí)行失敗 |
Init:CrashLoopBackOff |
Pod 中有一個初始化容器反復(fù)執(zhí)行失敗 |
Pending |
Pod 還未開始執(zhí)行初始化容器 |
PodInitializing or Running
|
Pod 已經(jīng)完成初始化容器的執(zhí)行 |
到了這里,關(guān)于pod之debug初始化容器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!