玉林社区   玉林天天茶座   分析简述 Kubernetes 集群日志基础
返回列表
查看: 392|回复: 0

分析简述 Kubernetes 集群日志基础

[复制链接]

1388

主题

1388

帖子

5231

积分

论坛元老

Rank: 8Rank: 8

积分
5231
发表于 2022-2-24 13:51:57 | 显示全部楼层 |阅读模式

马上注册玉林红豆网会员,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

在本文中,我将讨论K中不同容器日志记录模式的工作原理。服务器和应用程序日志记录是开发人员、运维人员和安全团队了解应用程序在其生产环境中运行状态的重要工具。[url=http:///www.wangsu.com/]cdn[/url]的相关资讯可以到我们网站了解一下,从专业角度出发为您解答相关问题,给您优质的服务![align=center]

                               
登录/注册后可看大图
[/align]


日志记录使运维人员能够确定应用程序和所需组件是否运行平稳,并检测是否发生了异常情况,以便他们能够对这种情况做出反应。


对于开发人员,日志记录提供了在开发期间和之后对代码进行故障排除的可见性。在生产环境中,开发人员通常依赖于没有调试工具的日志记录工具。在加上系统的日志记录,开发人员可以与运维人员携手合作,有效地解决问题。





日志记录工具最重要的受益者是安全团队,尤其是在云原生的环境中。能够从应用程序和系统日志中收集信息使得安全团队能够分析来自身份验证、应用程序访问恶意软件活动的数据,并在需要时进行响应。


K是领先的容器平台,越来越多的应用程序通过K部署到生产环境。我相信了解K的日志架构是一项非常重要的工作,每个开发、运维和安全团队都需要认真对待。


在本文中,我将讨论K中不同容器日志记录模式的工作原理。


系统日志记录和应用日志记录
在深入研究K日志记录架构之前,我想探索不同的日志记录方法以及这两种功能如何成为K日志记录的关键特性。


有两种类型的系统组件:在容器中运行的组件和不在容器中运行的组件。例如:



K调度者和-运行在容器中。
和容器运行时不在容器中运行。

与容器日志类似,系统容器日志存储在目录中,你应该定期轮换它们。


在这里,我研究的是容器日志记录。首先,我看一下集群级别的日志记录以及为什么它对集群运维人员很重要。集群日志提供有关集群如何执行的信息。诸如为什么吊舱P被下线或节点死亡之类的信息。集群日志记录还可以捕获诸如集群和应用程序访问以及应用程序如何利用计算资源等信息。总体而言,集群日志记录工具为集群运维人员提供操作集群和安全有用的信息。


捕获容器日志的另一种方法是通过应用程序的本机日志记录工具。现代应用程序设计很可能具有日志记录机制,可帮助开发人员通过标准输出()和错误流()解决应用程序性能问题。


为了拥有有效的日志记录工具,K现需要应用程序和系统日志记录组件。


K容器日志的种类型
如今,在大多数的K现中,你可以看到种主要的集群级日志记录方法。



节点级日志代理
用于日志记录的挎斗S容器应用程序
将应用程序日志直接暴露给日志后端

节点级日志代理
我想考虑节点级日志代理。你通常使用DS作为部署策略来现这些,以便在所有K节点中部署一个吊舱(充当日志代理)。然后,该日志代理被配置为从所有K节点读取日志。你通常将代理配置为读取节点目录捕获流并将其发送到日志记录后端存储。


下图显示了在所有节点中作为代理运行的节点级日志记录。





N-


以使用方法为例设置节点级日志记录,你需要执行以下操作:


(1)首先,你需要创建一个为的服务账户。F吊舱使用此服务账户来访问KAPI,你需要在日志命空间中使用标签:创建它们:


#-SAV:1:SA:::::
你可以在此仓库中查看完整示例。


(2)接着,你需要创建一个称为-的CM。这为提供了一个配置文件,其中包含所有必需的属性。


#-V:11S:::::-::::-:::::-::A::-::--:17--7-10:-:FLUENT_ELASTICSEARCH_HOST:-:FLUENT_ELASTICSEARCH_PORT:9200-:FLUENT_ELASTICSEARCH_SCHEME:-:FLUENT_ELASTICSEARCH_USER:-:FLUENT_ELASTICSEARCH_PASSWORDF:KR::--:-:FLUENT_ELASTICSEARCH_SED_DISABLE::::512M::100:200MM:-:-:O:-:GPS:0:-::-::-:M::
你可以在此仓库中查看完整示例。


现在,我们来看看如何将部署为日志代理的代码。


#-V:11S:::::-::::-:::::-::A::-::--:17--7-10:-:FLUENT_ELASTICSEARCH_HOST:-:FLUENT_ELASTICSEARCH_PORT:9200-:FLUENT_ELASTICSEARCH_SCHEME:-:FLUENT_ELASTICSEARCH_USER:-:FLUENT_ELASTICSEARCH_PASSWORDF:KR::--:-:FLUENT_ELASTICSEARCH_SED_DISABLE::::512M::100:200MM:-:-:O:-:GPS:0:-:P::-:P::-:M::
将这些放在一起执行:


--SA\--\--
用于日志记录的挎斗容器应用程序
另一种方法是使用带有日志代理的专用挎斗容器。容器最常见的现是使用F作为日志收集器。在企业部署中(你需担心一点计算资源开销),使用(或类似)现的挎斗容器提供了集群级日志记录的灵活性。这是因为你可以根据需要捕获的日志类型、频率和其它可能的调整来调整和配置收集器代理。


下图展示了作为日志代理的挎斗容器。





S例如,一个吊舱运行单个容器,容器使用两种不同的格式写入两个不同的日志文件。吊舱的配置文件如下:


#-V:1:P::::-:::----=0;;$()1;$()INFO$2;=$((+1));1;M:-:P:-:-::[,-,'-+1-1']M:-:P::-:{}
把它们放在一起,你可以运行这个吊舱:


$--
要验证挎斗容器是否用作日志代理,你可以执行以下操作:


$-
预期的输出如下所示:


$--1T04N202109:2:21NZDTT04N202109:2:22NZDTT04N202109:2:2NZDTT04N202109:2:24NZDT
将应用程序日志直接暴露给日志后端
第种方法(在我看来)是K容器和应用程序日志最灵活的日志记录解决方案,是将日志直接推送到日志记录后端解决方案。尽管此模式不依赖于原生K功能,但它提供了大多数企业需要的灵活性,例如:



扩展对络协议和输出格式的更广泛支持。
提供负载均衡能力并提高性能。
可配置为通过上游聚合接受复杂的日志记录要求。

因为这第种方法通过直接从每个应用程序推送日志来依赖非K功能,所以它超出了K的范围。


结论
K日志记录工具是企业部署K集群的一个非常重要的组件。我讨论了种可能的可用模式。你需要找到适合你需求的模式。


如上所述,使用的节点级日志记录是最容易使用的部署模式,但它也有一些限制,可能不适合你的组织的需要。另一方面,挎斗模式提供了灵活性和自定义,允许你自定义要捕获的日志类型,但是会提高计算机的资源开销。最后,将应用程序日志直接暴露给后端日志工具是另一种允许进一步定制的诱人方法。


选择在你,你只需要找到适合你组织要求的方法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

收藏:1 | 帖子:8万



侵权举报:本页面所涉内容均为用户发表并上传,岭南都会网仅提供存储服务,岭南都会网不承担相应的法律责任;如存在侵权问题,请权利人与岭南都会网联系删除!