在 github 操作中显示 initContainer 运行 的日志
Display logs of an initContainer running inside github actions
我有一个 pod
,其中嵌入了一个名为 initdb
的 initContainer
。是否有 kubectl
命令 returns true
如果 initdb
已启动或 false
?我需要它在 Github 操作 CI 中显示 initdb
的日志(如果 initd
尚未启动,kubectl log <pod> -c initdb
会崩溃)。
如果你在 Pod 中只有一个初始化容器,你可以像下面这样:
k get pod pod-name --output="jsonpath={.status.initContainerStatuses[0].ready}"
如果初始化容器处于就绪状态,这将return为真,但这仅意味着初始化容器已准备就绪,它可能已经终止(因为它已完成执行)或仍然运行.我不完全确定,但如果初始容器已准备就绪,请求其日志应该可以正常工作)
您可以使用 jsonpath 来select Pods 定义的特定部分,完全用于自动执行某些检查的范围。
要查看 Pod 的完整定义,只需使用:
k get pod pod-name -oyaml
也许 select 您感兴趣的内容。如果你想等到 init 容器终止或启动,你可以检查它的 state
部分,它详细解释了当前状态,并且基本上对你期望看到的内容进行更精细的检查。
我有一个 pod
,其中嵌入了一个名为 initdb
的 initContainer
。是否有 kubectl
命令 returns true
如果 initdb
已启动或 false
?我需要它在 Github 操作 CI 中显示 initdb
的日志(如果 initd
尚未启动,kubectl log <pod> -c initdb
会崩溃)。
如果你在 Pod 中只有一个初始化容器,你可以像下面这样:
k get pod pod-name --output="jsonpath={.status.initContainerStatuses[0].ready}"
如果初始化容器处于就绪状态,这将return为真,但这仅意味着初始化容器已准备就绪,它可能已经终止(因为它已完成执行)或仍然运行.我不完全确定,但如果初始容器已准备就绪,请求其日志应该可以正常工作)
您可以使用 jsonpath 来select Pods 定义的特定部分,完全用于自动执行某些检查的范围。
要查看 Pod 的完整定义,只需使用:
k get pod pod-name -oyaml
也许 select 您感兴趣的内容。如果你想等到 init 容器终止或启动,你可以检查它的 state
部分,它详细解释了当前状态,并且基本上对你期望看到的内容进行更精细的检查。