当前位置:主页 > 查看内容

【运维面试】k8s的日志你们是如何收集与管理的?

发布时间:2021-05-17 00:00| 位朋友查看

简介:这时候千万不要泛泛的回答用ELK了因为这种回答和没回答是一样的。 一般有三种方式 将fluentd项目安装在宿主机上然后把日志转发到远端的elsticSearch里保存起来以备检索。 这样做的优点是 在一个节点上只需要部署一个agent并且不会对应用和pod有任何入侵性这……

这时候千万不要泛泛的回答用ELK了,因为这种回答和没回答是一样的。

一般有三种方式:

  1. 将fluentd项目安装在宿主机上,然后把日志转发到远端的elsticSearch里保存起来以备检索。
    这样做的优点是: 在一个节点上只需要部署一个agent,并且不会对应用和pod有任何入侵性,这种用的比较多一些。
    缺点: 它要求应用输出日志,都必须直接输出到容器的stdout和stderr里

  2. 第二种方案:当容器日志只能输出某些文件的时候,我们可以通过一个sidecar容器把这些日志文件,重新输出到sidecar的stdout和stderr上,然后在使用第一种方案

其实第二种方案就是对第一种方案缺点的补充

  1. 第三种方案,通过一个sidecar的容器,直接把应用的日志发送到远程存储里面。

这种其实也是第一种的延伸,就是把fluentd部署到pod中,后端存储还是可以用elasticsearch,知识fluentd输入源变成了应用文件日志。
但是这种方法sidecar容器会消耗过多资源。

日过日志量特比大,我们可以增加配额: 给容器上挂存储,讲日志输出到存储上。

你在回答这个问题的时候,可以说第一种方式,只要你们的日志量不大即可,如果大的话,需要加存储。

;原文链接:https://blog.csdn.net/xinshuzhan/article/details/115477257
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:RISC-V架构系列之1:指令集和特权模式 下一篇:没有了

推荐图文


随机推荐