应用kubernetes容器化部署的服务项目如何记录和搜集日

lxf2023-12-20 16:20:01

做开发设计的朋友都了解日志的必要性,日志的类型一般有插口日志、不正确日志、关键因素日志、客户实际操作日志等。本文将详细的讲解应用kubernetes容器化部署的服务项目如何记录和搜集日志。

一、应用标准输出方法

将需要记载的日志价值输出到stdout或stderr就可以(DockerEngine本身具备LogDriver 作用,可以通过配备不同类型的LogDriver将容器stdout根据DockerEngine载入到日志系统软件),由DockerEngine将日志载入到日志系统软件。

这种方法的优势是应用简易,不过弊端也十分明显。每一个导出都混入一个流中,不能像文档一样归类导出,一个运用中一般都有几类类别的日志,这种日志的文件格式、主要用途不一,混入同一个流里将很难做到归类与分析。

尽管应用Stdout是Docker平台推荐的形式,可是仅限简单情景。这种方法可个性化、协调能力、网络资源隔离性都很差,一般不推荐在制造环境里应用。

二、服务项目直写方法

在服务代码里将日志立即发送至日志系统软件(集成化所用日志全面的SDK或自己完成SDK)。

这种方法的优势是日志文档不用临时存储到硬盘,不需要布署额外日志收集Agent,可以根据业务内容来定制,不会受到集群式经营规模限定。

主要缺点日志直写会占有一定的服务器空间,比如cpu、运行内存、尤其是互联网IO,会影响到提供服务的综合性能

三、DaemonSet方法

根据改动Deployment文档使服务项目器皿和服务器之间分享一个文件目录,服务项目将日志导出这一文件目录下边。应用DaemonSet方法在每一个node连接点上边运作一个日志收集agent(比如filebeat、fluentd、logstash等)收集这一节点上特定目录下中的所有日志文档到日志系统软件。

这种方法的优势网络资源相对性占有要低许多,也能做到日志归类收集,日志收集基本不危害服务项目性能。主要缺点可扩展性受到限制。

四、Sidecar 方法

根据改动Deployment文档在一个pod里边运作2个器皿,一个器皿运行服务,另一个器皿运作日志收集agent,从而让这俩器皿分享同一个文件目录,服务项目将日志导出这一文件目录下边,日志收集agent采集这一目录下的每一个日志文档到日志系统软件。

这种方法的优势是日志收集器皿和业务服务器皿是单独的,服务器资源不容易相互作用 ,协调能力强,不会受到集群式经营规模限定。

主要缺点网络资源相对性占有比较多,由于对于每一个服务项目都需要布署一个单独的agent器皿,维护成本也比较高。

总结

文中详细讲解了收集kubernetes容器化部署的服务项目日志的四种方式,各种方式都会有优点和缺点和相匹配的应用场景,应该根据具体场景选择最理想的方法。

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!