当前位置: 首页 > 工具软件 > kubectl-debug > 使用案例 >

kubernetes Debug Init Containers

李宜然
2023-12-01

概述
本博客主要研究Init Containers的执行相关的问题。 以下示例命令行将Pod称为,将Init Containers称为和。

检查Init Containers的状态
执行命令

kubectl get pod <pod-name>

如果出现类似一下情况,表明<init-container-1>已经执行完成

NAME         READY     STATUS     RESTARTS   AGE
<pod-name>   0/1       Init:1/2   0          7s

获取有关Init容器的详细信息

kubectl describe pod <pod-name>

如果一个POD有两个init-container容器,那么将得到类似一下结果

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 Spec中的status.initContainerStatuses字段以编程方式访问Init Container状态:

例如

kubectl get pod nginx --template '{{.status.initContainerStatuses}}'

获取初始化容器日志

kubectl logs <pod-name> -c <init-container-2>

Pod status概括

Init:N/M  --表示有M个init-container已经有N个init执行完成
Init:Error --init-container 执行失败
Init:CrashLoopBackOff --init-container重复初始化,但是没有已成功
Pending --init-container 处于等待执行的状态
PodInitializing or Running   --Pod已经完成了Init Containers的执行或者执行中

END

参考:
Debug Init Containers

 类似资料:

相关阅读

相关文章

相关问答