Gan*_*esh 4 jenkins kubernetes jenkins-pipeline cicd
我们有一个多 Pod 容器,由 2 个 Pod 组成。首先运行 init 容器,然后运行实际容器。最近,我们的初始化容器作业失败,导致我们的部署失败。我们需要在初始化容器完成后获取初始化容器日志
有办法做到这一点吗?
我知道我们可以在 init 容器运行时获取日志,但即使在 init 容器作业完成后我们也需要日志
任何解决方案,我们都使用 jenkins 进行构建和部署
您可以运行cmd:
kubectl logs <pod_name> -c <init_container_name>
Run Code Online (Sandbox Code Playgroud)
即使运行完成后,这也会获取 init 容器的日志。
仅举一个例子,对于下面的 pod 规范,init-container首先运行(直至完成)并仅打印“Hello world”。
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
containers:
- name: main-container
image: busybox
command: ["/bin/sh", "-ec", "while :; do echo '.'; sleep 5 ; done"]
initContainers:
- name: init-container
image: busybox
command: ['sh', '-c', 'echo "Hello world"']
Run Code Online (Sandbox Code Playgroud)
如果我运行这个命令:
kubectl logs test-pod -c init-container
Run Code Online (Sandbox Code Playgroud)
我得到输出:
Hello world
Run Code Online (Sandbox Code Playgroud)
要获取 Pod 中所有容器的日志,您可以使用:
kubectl logs <pod_name> --all-containers
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
5549 次 |
| 最近记录: |