【问题标题】:Fluentd not able to access the logs present under /var/lib/docker/containers due to permission issue由于权限问题,Fluentd 无法访问 /var/lib/docker/containers 下的日志
【发布时间】:2019-09-19 13:31:58
【问题描述】:

我正在尝试通过 fluentd 读取容器日志并将其传递给弹性搜索。我已将主机中的目录安装到 fluentd 容器中,其中包括所有符号链接和实际文件。 但是当我看到 fluentd container logs 时,它说那些存在于/var/log/pods/ 下的日志是不可读的。然后我手动导航到存在日志的 fluentd 容器下的路径,但不幸的是我遇到了权限被拒绝的问题。 我去了/var/lib/docker/containers,然后权限是0700,所有者是root。即使我正在尝试通过设置
- name: FLUENT_UID value: "0" 来运行我的 fluentd 容器 但它仍然无法读取。

volumes: - name: varlog hostPath: path: /var/log/ - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers

..... volumeMounts: - name: varlog mountPath: /var/log/ - name: varlibdockercontainers mountPath: /var/lib/docker/containers

【问题讨论】:

  • 你能发布整个 fluentd 部署 yaml 文件吗?

标签: docker kubernetes kubernetes-helm fluentd


【解决方案1】:

你应该看看security contexts。除此之外,它们还允许您使用runAsUser 指定将在容器中运行的用户,使用runAsGroup 指定该用户的主要组,使用fsGroup 指定卷所有者。

【讨论】:

  • 感谢@alassane,最终我也做了同样的事情。
  • 我在“/var/lib/docker/containers/fb384dd70af7e42a417e240d0dfd1075c541e4a76c6d1355d04199a4b7f7d95b”路径中的 filebeat pod 中遇到 Permission Denied 错误,即使我正在使用 SCC 和“runAsUser: 0”。请有任何建议
猜你喜欢
  • 2014-11-26
  • 2020-10-17
  • 2017-09-26
  • 2019-03-16
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
相关资源
最近更新 更多