【问题标题】:Syncing daemonset同步守护进程
【发布时间】:2021-01-04 05:19:45
【问题描述】:

假设我在我的 k8s 集群中运行了一个 daemonset,由该 daemonset 创建的每个 pod 创建并写入运行它的节点上的一个目录。有没有办法自动将文件夹与主文件夹中的一个同步?鉴于我有一个多主集群。

【问题讨论】:

  • 这里的用例是什么?有什么限制?因为方法可能取决于用例。
  • 我正在使用 Fluent Bit 收集在 K8S 集群中运行的应用程序的日志。 Fluent bit 作为 daemonset 运行,因此它为在可能运行应用程序的每个节点中运行的每个 pod 创建一个文件。我开发了一个脚本,可以将日志文件过滤为我需要的格式,但是我不想在每个节点内运行,而是将日志文件集中在一个主节点内,这样我就可以运行我的脚本一次,而不是: 1.从master访问每个节点 2.运行脚本 3.返回结果给master
  • 你考虑过使用forward plugin吗?来自文档:"The out_forward Buffered Output plugin forwards events to other fluentd nodes"。还是HA config
  • 我将使用 HTTP 输出,因为这似乎是最方便的解决方案。我唯一的问题是,我可以限制 fluent bit 仅返回过去 24 小时的日志吗?因为现在它正在请求正文中发送整个 pod 日志,并且将来需要处理很多......

标签: kubernetes synchronization daemonset


【解决方案1】:

您可以拥有一个具有ReadWriteMany 访问模式的持久卷,以便所有守护程序集可以在它们之间共享同一组数据。

这里有一个简单的例子:http://snippi.com/s/qpge73r

编辑:正如@matt 评论的那样,很少有驱动程序支持https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes

【讨论】:

  • 但并非所有驱动程序都支持它。查看k8s docs 获取支持 ReadWriteMany 的驱动程序列表
  • 如果您的存储是对象,存储桶可能会有所帮助?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-20
  • 1970-01-01
  • 2023-03-02
  • 2018-09-14
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
相关资源
最近更新 更多