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

举报
互联网老辛 发表于 2021/06/08 23:36:52 2021/06/08
【摘要】 这时候千万不要泛泛的回答用ELK了,因为这种回答和没回答是一样的。 一般有三种方式: 将fluentd项目安装在宿主机上,然后把日志转发到远端的elsticSearch里保存起来以备检索。 这样做的优点是: 在一个节点上只需要部署一个agent,并且不会对应用和pod有任何入侵性,这种用的比较多一些。 缺点: 它要求应用输出日志,都必须直接输出到容器的stdout...

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

一般有三种方式:

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

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

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

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

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

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

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

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/115477257

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。