postStart 的日志未打印

问题描述 投票:0回答:1

我使用下面的示例来测试 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
检查 hooks 输出时,没有日志。

我尝试过但无法查明问题所在。我认为可能是 shell 问题,所以我将

bash
更改为
sh
但之后连 Pod 都没有创建。

有人知道这里出了什么问题吗?

kubernetes
1个回答
1
投票

启动后事件:

回显输出位于容器范围内,因此它不会显示/记录任何内容。 为了执行我使用的命令:

命令:[“/bin/sh”,“-c”,“echo 11111111> /tmp/message”]

有多种日志记录方法,但是如上所述在文件上写入是一个简单的示例,用于测试目的。

创建 pod 后,执行交互以获取 shell,最后检查生命周期触发器是否以这种方式写入示例文件。

kubectl exec -it aaaa --/bin/bash

猫/tmp/消息

你应该得到:

11111111

请参阅 this 指南了解不同的日志记录方法,考虑使用第 3 方

© www.soinside.com 2019 - 2024. All rights reserved.