0

我想通过knative部署我的服务,但是我不知道如何收集服务日志并将它们保存在es中。服务日志位于 /var/log 目录下,因此我将目录挂载到 emptyDir 卷并通过 sidecar 收集日志。当我提交yaml文件时,发现knatve不支持这种方式。

在此处输入图像描述

我知道如何收集容器控制台日志,只是不知道通过knative部署服务时如何收集特定目录日志。那么有人知道解决方案吗?

感谢您的帮助和时间

4

1 回答 1

0

正如错误所说,yaml 有 2 个容器(多容器),knative 默认不支持。这就是为什么您的 yaml 不被 knative webhook 接受的原因。现在 v0.17 支持多容器。你应该先试试这个。https://github.com/knative/serving/blob/master/config/core/configmaps/features.yaml#L44 https://knative.dev/docs/serving/feature-flags/#control

就我而言,我确实只使用标准输出将日志收集到 ES,它工作起来非常简单,所以我没有尝试你的方法。但是,考虑到此配置文件,您似乎不需要安装额外的卷。https://github.com/knative/serving/blob/master/config/monitoring/logging/elasticsearch/100-fluentd-configmap.yaml#L46

我没有更好的主意了。希望你找到最好的方法。

于 2020-09-07T01:01:20.120 回答