我们使用的是Kubernetes 1.1.3及其默认的fluentd-elastic搜索日志。我们还在容器上使用LivenessProbes,以确保它们按预期运行。我们的问题是从LivenessProbe发送到STDOUT的行似乎没有到达ElasticSearch。有没有一种方法可以让fluentd ship LivenessProbes像对pod中的常规容器那样输出?
yjghlzjz1#
探测器的输出被节点上负责运行探测器的Kubelet组件(源代码,如果您感兴趣的话)接收。如果探测器失败,其输出将被记录为与pod关联的事件,该事件应该可以通过API访问。成功探测的输出不会记录在任何地方,除非您的Kubelet的日志级别至少为--v=4,在这种情况下,它将记录在Kubelet的日志中。如果你对输出有什么想法,可以在Github问题中提交一个特性请求:)
djmepvbi2#
也可以考虑一种变通方法,即从liveness探测器(exec类型)写入入口点的stdout,基本上将内容写入kubectl logs <pod name>的输出。活动探测命令,例如
kubectl logs <pod name>
#!/bin/bash echo "Hello liveness probe stdout" echo "Hello entrypoint stdout" > /proc/1/fd/1
kubectl日志〈pod名称〉
Hello entrypoint stdout Hello entrypoint stdout Hello entrypoint stdout
2条答案
按热度按时间yjghlzjz1#
探测器的输出被节点上负责运行探测器的Kubelet组件(源代码,如果您感兴趣的话)接收。如果探测器失败,其输出将被记录为与pod关联的事件,该事件应该可以通过API访问。
成功探测的输出不会记录在任何地方,除非您的Kubelet的日志级别至少为--v=4,在这种情况下,它将记录在Kubelet的日志中。
如果你对输出有什么想法,可以在Github问题中提交一个特性请求:)
djmepvbi2#
也可以考虑一种变通方法,即从liveness探测器(exec类型)写入入口点的stdout,基本上将内容写入
kubectl logs <pod name>
的输出。活动探测命令,例如
kubectl日志〈pod名称〉