英文:
Logs for postStart are not printing
问题
我正在使用以下示例来测试 postStart 和 preStop 钩子。
apiVersion: v1
kind: Pod
metadata:
name: aaaa
labels:
wwww: qqqq
spec:
containers:
- name: adassa
image: nginx:1.10.1
lifecycle:
postStart:
exec:
command: ['bash', '-c', 'echo 11111111']
preStop:
exec:
command: ['bash', '-c', 'echo 2222222']
我的 Pod 成功创建,但后来当我尝试使用 kubectl logs aaaa -c adassa
和 kubectl logs aaaa
来检查钩子的输出时,没有日志记录。
我尝试过但无法确定问题。我认为可能是 shell 的问题,所以我将 bash
更改为 sh
,但之后甚至 Pod 都无法创建。
有人知道这里有什么问题吗?
英文:
I am using below example to test postStart and preStop hooks.
apiVersion: v1
kind: Pod
metadata:
name: aaaa
labels:
wwww: qqqq
spec:
containers:
- name: adassa
image: nginx:1.10.1
lifecycle:
postStart:
exec:
command: ['bash', '-c', 'echo 11111111']
preStop:
exec:
command: ['bash', '-c', 'echo 2222222']
My pod was successfully created, but later when I tried to check the hooks output using kubectl logs aaaa -c adassa
and kubectl logs aaaa
then there were no logs.
I tried but not able to pinpoint the issue. I thought maybe shell issue, so I changed bash
to sh
but after this even Pod was not created.
Anyone has any idea what is wrong here?
答案1
得分: 1
PostStart 事件:
回显输出位于容器范围内,因此不显示/记录任何内容。
要执行命令,我使用:
> 命令:["/bin/sh", "-c", "echo 11111111> /tmp/message"]
有几种日志记录方法,但像上面那样写入文件是一个简单的示例,用于测试目的。
创建一个 Pod 后,执行交互式命令以获取 shell,最后检查生命周期触发是否以这种方式写入示例文件。
> kubectl exec -it aaaa -- /bin/bash
>
> cat /tmp/message
您应该得到:
> 11111111
参考此指南以了解不同的日志记录方法,考虑使用第三方工具。
英文:
PostStart event:
The echo output is inside the container scope so it does not show/log anything.
For executing a command i use:
> command: ["/bin/sh", "-c", "echo 11111111> /tmp/message"]
There are several logging approaches however writing on a file as above is a simple example and for testing purposes.
Once you create a pod, execute interactive to get a shell and finally check if lifecycle trigger wrote on the sample file this way.
> kubectl exec -it aaaa -- /bin/bash
>
> cat /tmp/message
You should get:
> 11111111
Refer to this guide for different logging approaches, think about a 3rd party
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论