【运维面试】k8s的日志你们是如何收集与管理的?
【摘要】 这时候千万不要泛泛的回答用ELK了,因为这种回答和没回答是一样的。
一般有三种方式:
将fluentd项目安装在宿主机上,然后把日志转发到远端的elsticSearch里保存起来以备检索。 这样做的优点是: 在一个节点上只需要部署一个agent,并且不会对应用和pod有任何入侵性,这种用的比较多一些。 缺点: 它要求应用输出日志,都必须直接输出到容器的stdout...
这时候千万不要泛泛的回答用ELK了,因为这种回答和没回答是一样的。
一般有三种方式:
-
将fluentd项目安装在宿主机上,然后把日志转发到远端的elsticSearch里保存起来以备检索。
这样做的优点是: 在一个节点上只需要部署一个agent,并且不会对应用和pod有任何入侵性,这种用的比较多一些。
缺点: 它要求应用输出日志,都必须直接输出到容器的stdout和stderr里 -
第二种方案:当容器日志只能输出某些文件的时候,我们可以通过一个sidecar容器把这些日志文件,重新输出到sidecar的stdout和stderr上,然后在使用第一种方案。
其实第二种方案就是对第一种方案缺点的补充
- 第三种方案,通过一个sidecar的容器,直接把应用的日志发送到远程存储里面。
这种其实也是第一种的延伸,就是把fluentd部署到pod中,后端存储还是可以用elasticsearch,知识fluentd输入源变成了应用文件日志。
但是这种方法sidecar容器会消耗过多资源。
日过日志量特比大,我们可以增加配额: 给容器上挂存储,讲日志输出到存储上。
你在回答这个问题的时候,可以说第一种方式,只要你们的日志量不大即可,如果大的话,需要加存储。
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/115477257
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)