调试 Init 容器

    你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。 建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面任意一个 Kubernetes 工具构建:

    要获知版本信息,请输入 kubectl version.

    显示你的 Pod 的状态:

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

    更多状态值及其含义请参考。

    查看 Init 容器运行的更多详情:

    例如,对于包含两个 Init 容器的 Pod 可能显示如下信息:

    1. <init-container-1>:
    2. Container ID: ...
    3. ...
    4. State: Terminated
    5. Reason: Completed
    6. Exit Code: 0
    7. Finished: ...
    8. Ready: True
    9. Restart Count: 0
    10. ...
    11. Container ID: ...
    12. ...
    13. State: Waiting
    14. Reason: CrashLoopBackOff
    15. Last State: Terminated
    16. Reason: Error
    17. Exit Code: 1
    18. Started: ...
    19. Ready: False
    20. Restart Count: 3

    此命令将返回与原始 JSON 中相同的信息.

    与 Pod 名称一起传递 Init 容器名称,以访问容器的日志。

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

    运行 Shell 脚本的 Init 容器在执行 Shell 脚本时输出命令本身。 例如,你可以在 Bash 中通过在脚本的开头运行 set -x 来实现。