Hello folks,我是 Luga,今天我们来分享一款用于 Kubernetes Cluster 故障排查的开源工具 - Robusta (罗布斯塔)。作为一个用于多集群 Kubernetes 监控、故障排除和自动化的开源平台,就像 Docker 用于部署应用程序的基础设施即代码一样,Robusta 用于维护 Kubernetes Cluster 应用程序和处理其警报的基础设施即代码。
—01—
作为一款用于 Kubernetes Cluster 故障排查的开源平台,其本质是为了弄清楚我们当前所构建的 Kubernetes Cluster 的健康状况,并针对所出现的告警行为进行合理解释以及给予我们相关修复建议。
【资料图】
与大多数其他云应用程序一样,Robusta 能够基于 Helm 安装和管理,其主要位于监控堆栈(Prometheus、Elasticsearch 等)之上。
从技术生态角度来看,Robusta 既是一款 Kubernetes 的自动化引擎,也是一个多集群可观测性开源平台。Robusta 通常与 Prometheus 一起协作使用,当然,也支持其他工具集成。
基于其相关特性,通过监听 Kubernetes Cluster 中的相关事件,Robusta 可以告诉我们为什么发出警报、同时发生了什么以及我们能够所采取的措施。除此之外,Robusta 也能够改进我们现有的告警体系,或用于定义由 APIServer 更改触发的新告警流程,以革新现有落后的观测生态。
—02—
Kubernetes 自动化引擎
即当我们所构建的 Kubernetes Cluster 中发生任何意外事件时所采取的自动操作。自动修复问题或收集有关问题的证据并在后续的时间进行调查、分析。
1、自动修复
当然,除了个别比较棘手的问题外,大多数常见的问题基本上都有已知的解决方法,基于 Robusta ,我们可以轻松地自动修复已知问题。例如,在 YAML 中配置修复操作或在 Python 中编写我们自定义的操作以实现完全可定制性。
2、告警丰富
Robusta 获取所配置现有的告警规则,然后并自动提取有关受影响的 Kubernetes 资源的详细信息。
例如,当某一 Kubernetes Cluster Node 的磁盘空间不足时,Robusta 会显示历史图表。当 Pod 崩溃时,Robusta 便会获取相关日志进行后续的调查、分析。
Cluster 观测性
此平台能够基于 Kubernetes Cluster 的一体式、全方位进行观测,涉及告警仪表盘、不健康的资源、日志以及相关图标等。
1、资源展示
Robusta 能够映射我们所构建的的 Kubernetes Cluster 拓扑并构建正在运行的应用程序列表以及识别每个人的健康问题并显示细节。除此之外,基于当前的运行状况,能够实时查看正在运行的 Pod、CPU 使用率、内存使用率以及有关工作负载的其他关键信息。
Robusta 记录了 Kubernetes Cluster 中发生的所有 Kubernetes 变更,能够准确查看 YAML 更改的内容以及它是否导致了问题等。
2、Kubernetes 原生追踪
通常情况下,Robusta 将 Kubernetes UI 与警报和可观察性平台相结合,告警会自动映射到正确的 Kubernetes 资源,然后按命名空间或集群进行过滤告警信息。除此之外,要真正了解问题,我们往往需要有关各个 Pod 的详细日志和事件信息。然而,基于 Robusta,使得我们无需在生产环境中运行 Kubectl 命令或在窗口之间跳转,而直接在 Robusta 中搞定所有的一切,比如,按需获取日志、显示图形并跟踪 Pod 的状态等。
路由通知
基于相关规则,基于 Robusta 统一通知服务,我们能够可以获取有关警报、失败的作业、应用程序更新以及我们所选择的任何其他内容的通知。
1、事件通知
Robusta 能够更轻松地获得有关失败作业、CrashLoopBackOffs 或重要 Kubernetes 对象的意外更改的通知。
Robusta 支持向 Slack、MS Teams、Discord、PagerDuty、OpsGenie、WebEx 等发送消息。除此之外,Robusta 也能够从各种传入目的地接收数据,包括 Prometheus 和 Elasticsearch。
2、告警通知
当我们将 Prometheus 警报直接发送到 Slack 时,这些警报通常缺乏上下文。而基于 Robusta 路由告警,我们可以将告警连接到相关日志和图表予以展现。
内置告警
基于 Prometheus 生态技术体系,Robusta 采用了最流行的方式来监控 Kubernetes Cluster 并使其变得更好。同时,告警也增加了可观察性。以下为常用的场景,具体如下:
1、Pod 崩溃
2、系统磁盘空间不足
3、OOMKill
4、请求超时
5、其他事件场景
示例:内存溢出场景
当然,除了上述核心的特性外,Robusta 也包含 Timeline (时间轴)功能,基于时间轴,我们可以查看所有 Prometheus 警报的历史记录,以及与 Kubernetes Cluster 中的配置更改相关的记录等。
—03—
上面我们简单介绍了 Robusta 的功能特性,接下来,我们来看一下其实现原理。
基于 Robusta 的相关特性,其自动化实现(采用 YAML 配置,强调预构建的自动化)主要包含如下三个部分:
1、Trigger
即“何时运行?”,通常主要针对告警、日志以及事件更新等。Trigger 触发器是启动自动化的条件。例如,失败的 Kubernetes 作业等。
2、Action - 动作
即“做什么?”,Action 动作是我们在自动化运行时执行的一系列相关操作等。例如,获取日志或收集 Java 堆转储。
3、Sink - 接收器
即“最终归宿?”Sink 接收器是发送任何输出的地方。例如,Slack 渠道等。
如下为 Robusta 具体工作原理结构:
例如,针对 Pod 崩溃时的(即 “RobustaCrashingPods” )的行为规则定义如下所示:
triggers: - on_prometheus_alert: alert_name: KubePodCrashLoopingactions: - logs_enricher: {}sinks: - kafka
假设,基于某种特定的原因,当我们所构建的 Kubernetes Cluster 中的某一个Pod 发生崩溃时,此时,依据所定义的告警规则进行告警触发时,Robusta 都会从正确的 Pod 中获取日志并将它们附加到告警中,并将会自动化把日志发送到 Kafka 中。
—04—
基于上述参考架构,我们可以看到,整个 Robusta 架构的核心围绕“自动化引擎”进行开展,具体涉及如下组件:
1、Robusta-Forwarder
此组件主要连接到 APIServer 并监控 K8s Cluster 的变化,并将它们转发给 Robusta-Runner 进行处理。
2、Robusta-Runner
此组件主要执行自定义的 Playbooks,依据相关的业务规则。
3、Bundled Prometheus Stack
此组件为可选项,Robusta 包括一个可选的嵌入式 Prometheus 堆栈,根据最佳实践预先配置了 Kubernetes 告警。如果我们在实际的场景中已经在使用了 Kube-Prometheus-Stack,那么,则可以将其指向 Robusta。
4、Web UI
此组件为可选项,我们可以依据实际的情况,进行 Web UI 配置,基于此,能够为我们提供一个单一的管理面板来观测跨多个 K8s Cluster 的所有警报和 Pod 状态追踪。
5、CLI
此组件为可选项,Robusta Cli 通常具备两个主要用途,具体如下所示:
(1)基于自动生成的 Helm 值使的 Robusta 安装变得更容易,便捷,有利于维护,节省资源成本;
(2)可以手动触发 Robusta 故障排除工作流程(例如,我们可以从任何 Java Pod 应用来获取相关堆转储信息,以供排障、分析之用)。
—05—
其实,从本质上来讲,Robusta 的部署安装与其他应用程序一样, 安装较为简单,官方给出了多种部署方式,这里,我们基于 Helm 进行安装,具体步骤如下所示。
1、安装 Robusta Cli 插件
[leonli@Leon robusta ] % python3 -m pip install -U robusta-cli --no-cacheDefaulting to user installation because normal site-packages is not writeableCollecting robusta-cli Downloading robusta_cli-0.10.11-py3-none-any.whl (230 kB) |████████████████████████████████| 230 kB 4.6 kB/s Collecting hikaru<0.6.0,>=0.5.1-beta.0 Downloading hikaru-0.5.1b0-py3-none-any.whl (1.2 MB) |████████████████████████████████| 1.2 MB 25 kB/s Collecting colorlog<6.0.0,>=5.0.1 Downloading colorlog-5.0.1-py2.py3-none-any.whl (10 kB)Collecting toml<0.11.0,>=0.10.2 Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)Collecting opsgenie-sdk<3.0.0,>=2.1.5 Downloading opsgenie_sdk-2.1.5-py3-none-any.whl (247 kB) |████████████████████████████████| 247 kB 19 kB/s Collecting prometheus-client<0.13.0,>=0.12.0 Downloading prometheus_client-0.12.0-py2.py3-none-any.whl (57 kB) ... Collecting robusta-cli Downloading robusta_cli-0.8.31-py3-none-any.whl (143 kB) |████████████████████████████████| 143 kB 25 kB/s Downloading robusta_cli-0.8.30-py3-none-any.whl (143 kB) ...
2、生成 Robusta 配置文件
[leonli@Leon robusta ] % robusta gen-configRobusta reports its findings to external destinations (we call them "sinks").We"ll define some of them now.Configure Slack integration? This is HIGHLY recommended. [Y/n]: YIf your browser does not automatically launch, open the below url:https://api.robusta.dev/integrations/slack?id=xxxxYou"ve just connected Robusta to the Slack of: devopscluster...
3、安装 Robusta
[leonli@Leon robusta ] % helm install robusta robusta/robusta -f ./generated_values.yaml \ --set clusterName=devops-cluster
4、查看 Robusta 资源
[leonli@Leon robusta ] % kubectl get pods -A | grep robusta
至此,Robusta 组件安装完成,我们可以通过其 GUI 查看所构建的相关资源信息。
综上所述,Robusta 作为一个自动化引擎,能够侦听不同的数据源,例如 Kubernetes Cluster 中的变化、Prometheus 警报等。基于这些数据源,Robusta 可以借助自动化方式来帮助解决集群中的相关问题。
同时,Robusta 还监控 API Server 并发送警报以涵盖我们所构建的 Kubernetes Cluste 可能遇到的任何类型的问题。
此外,Robusta 能够在 Kubernetes Cluste 中为我们提供主动运行程序的操作,帮助自动执行及手动修复这些问题,从而为我们构建一个系统以自动化方式补救所遇到的相关问题,以使得我们能够提前知晓问题的风险以及针对所发生的问题进行有的放矢地处理。
Ref:
有关更多的 Robusta 信息,大家可以访问 https://home.robusta.dev/
Adiós !
··································
Hello folks,我是 Luga,一个 10 年+ 技术老司机,从 IT 屌丝折腾到码畜,最后到“酱油“架构师。如果你喜欢技术,不喜欢呻吟,那么恭喜你,来对地方了,关注我,共同学习、进步、超越~
您的每一个点赞、在看及分享,我都认真当成了喜欢 ~
标签:
上一篇 : guantanamera雪茄怎样_guantanamera雪茄-世界播资讯
下一篇 : 最后一页
1、上海航空职业技术学校是上海航空公司培养民航专业人员的基地。2、主要培训业务有空中服务、航空商务...
03-12 08:56:40
1、数字纹身,专为糖尿病患者设计的纹身,这种纹身并不像常见的臂带和汉字纹身那样使用染料,而是采用纳...
03-12 02:51:35
第三届“好吃苏米”品鉴大赛明天开赛
03-11 21:08:18
准备好了吗?云南气温将“跳水”、强对流天气“上线”
03-11 17:11:59
1、亚麻指的是亚麻布。亚麻是将亚麻捻成线织成的。它的表面不像棉花和化纤那样光滑,有生动的凹凸纹理。...
03-11 15:58:32
张勤建议,相关部门进一步完善评级标准,增加对景区标识体系、讲解内容等“软”件建设的评估和动态监督...
03-11 13:46:06
1、三星SGH-D808是2006年03月上市的一款彩屏手机。本文到此结束,希望对大家有所帮助。
03-11 10:12:47
保时捷911最低售价:129 80万起图片参数配置询底价懂车分4 29懂车实测空间·性能等车友圈9 3万车友热...
03-11 10:06:37
1、楚襄王是楚怀王之子,芈姓,熊氏,名横。2、神女有心,襄王无梦说的就是楚襄王。本文到此分享完毕,...
03-11 04:58:01
一、信用证诈骗罪立案标准是:《最高人民检察院、公安部关于公安机关管辖的刑事案件立案追诉标准的规定(...
03-11 02:52:12
美情报界称中国不希望在台湾问题上爆发冲突,外交部回应
03-10 17:10:33
1、一、中国名玉,是指新疆的“和田玉”、河南南阳的“独山玉”、陕西西安的“蓝田玉”、及辽宁岫岩的“...
03-10 15:05:05
1、当我和吕霄等人一起爬山时,我在路上遇到了暴风雨。后来发现有人掉队了,就想尽办法救人。结果我被泥...
03-10 13:14:08
Kratos一套由bilibili开源轻量级Go微服务框架,包含大量微服务相关框架及工具。
03-10 12:00:05
近日,重庆市体育局印发《重庆市全民健身场地设施规划建设导则》(以下简称《导则》),以群众休闲健身...
03-10 10:01:30
一、行政处罚具体适用的条件都有什么行政处罚具体适用的条件都有公民、法人或者其他组织实施了违反行政...
03-10 07:58:43
1、鸡是最常见的一种家禽。鸡天天叫,尤其是公鸡天天叫。黎明时,它们昂着头,伸长脖子啼叫。2、公鸡的...
03-10 07:09:14
1、广西壮族自治区第十二届运动会是为了全面贯彻科学发展观,落实《全民健身条例》,检阅全区群众体育和...
03-10 04:02:16
万科完成配售3亿股H股,募资净额约39亿港元,万科,持股,新h股,恒大集团,公司股份,中国交通运输公司
03-09 23:10:28
1、啮(nie)(四声)。本文到此分享完毕,希望对大家有所帮助。
03-09 21:37:08
格隆汇3月9日丨横店影视(603103)(603103 SH)公布,经过公司及下属子公司对2022年末存在可能发生减值迹...
03-09 20:08:58
1、第一次的浇水要浇透。2、2、不要有积水,让发财树得以缓根。3、3、夏天对水的需求量比较大,每隔三四...
03-09 18:09:04
1、红参是参的熟用品,其加工方法是经过浸润、清洗、分选、蒸制、晾晒、烘干等工序加工而成。2、红参在...
03-09 16:10:18
光速降价?小米13Pro全球版登陆速卖通优惠后7600元
03-09 16:20:36
1、一 基本每股收益反应什么?基本每股收益即企业利用每股的股东权益做资本在一定时期内(一年、半年)所...
03-09 14:44:56
【奕东电子:公司通讯通信类元器件产品可以应用于6G领域】财联社3月9日电,奕东电子在互动平台表示,公...
03-09 12:03:38
各招录单位具体面试通知预计将于3月10日后发布,考生可登录网上报名系统查询,并于3月13日上午10:00前...
03-09 10:59:04
1、清包:也叫包清工,是指业主自行购买所有材料,找装饰公司或装修队伍来施工的一种工程承包方式。2、...
03-09 10:42:59
1、链接:提取码:1zhm江心月回首,是他,那个开BMW的男子。2、一切祸端的源头,愤怒像浪水般排山倒海而...
03-09 08:48:25
1、您好,加盟要求为:驾龄1年以上,车龄6年以内。2、行驶里程10万公里以内,男性年龄要求22-60周岁,女...
03-09 05:10:25
1、醒悟的拼音是这样的:xingwu晌午的拼音是这样的:shangwu。以上就是【晌午的拼音和解释,晌午的拼音...
03-09 04:03:50
本文转自【中国新闻网】;中新网北京3月8日电(张乃月)美国国防部数据显示,从2003年到2010年的七年间,...
03-08 22:59:25
空气炸锅做排骨的做法有5步。需要的食材有:排骨700克、淀粉6汤匙、豆豉适量、红甜椒适量、葱姜蒜适量、...
03-08 20:06:30
1、盐城市交通运输局管亚光局长首先介绍工程概况和合作建设情况。他指出城市快速路网是我市建市史上单项...
03-08 19:44:21
期待已久的手游灵秘火焱传说即将登陆九游,这款手机游戏吸引了大批玩家的关注,想下载这款游戏,有很多...
03-08 17:14:10
1、王智,1982年7月29日出生于辽宁省鞍山市,毕业于中央戏剧学院2004级表演系本科,中国内地女演员、新...
03-08 16:59:58
1、家祭无忘告乃翁的上一句:王师北定中原日示儿作者:陆游(宋)死去元知万事空,但悲不见九州同。2、王...
03-08 15:09:15
1、公司行政班子的组成人员,由总经理提名,董事会聘任,是总经理的助手,是董事会授权的企业某个领域的...
03-08 13:44:23
1、广西壮族自治区商务厅机关服务中心是广西壮族自治区商务厅所属企事业单位。2、。
03-08 13:06:46
你们好,最近小活发现有诸多的小伙伴们对于春节的风俗介绍,春节的风俗这个问题都颇为感兴趣的,今天小...
03-08 10:40:29
关于三皇五帝的传说,不管是他们当中的那一位,在民间传说中都是神一样的人物,当然他们并不是神,他们...
03-08 10:42:20
中新网8月15日电据南美侨报网报道,上世纪60年代开始,拉丁美洲文学如雨后春笋般涌现,让世人的目光重新...
03-08 09:00:37
1、唐家岭,位于北京市区西北五环外的西北旺镇。2、唐家岭东邻昌平区的回龙观,西邻土井村,南邻后厂村...
03-08 07:21:16
周三002日本联赛杯柏太阳神VS鹿岛鹿角2023日联赛杯GroupStage第1轮2023-03-0818:00:00柏太阳神的控球率在近3场赛事场
03-08 05:58:43
1、抗压入强度是指煤岩体抵抗压入能力的指标。2、通常以一定端面积的压模用静力压入底板煤岩体时的极限...
03-08 00:51:10
1、一转技能:全部加满;2、二转技能:全部加满;3、三转技能:放弃幻影突击。一点和加满没什么区别;4...
03-07 23:25:39
今天小编宋丹来为大家解答以上的问题。关于珍惜粮食的一段话100字,关于珍惜粮食的一段话相信很多小伙伴...
03-07 21:20:37
1、论文写手是指替大学生或成人代写毕业论文的写手,主要代写专科毕业论文、本科毕业论文,硕士毕业论文...
03-07 20:14:04
电动汽车公司菲斯克公司(FiskerInc )获得了5000万美元的投资,以帮助其打造一款新的Ocean电池电动跨界
03-07 18:45:52
1、《宠物小精灵BW第二季》是2012年出品的日产动漫。文章到此就分享结束,希望对大家有所帮助。
03-07 17:24:21
1、上海航空职业技术学校是上海航空公司培养民航专业人员的基地。2、主要培训业务有空中服务、航空商务...
2023-03-12
1、数字纹身,专为糖尿病患者设计的纹身,这种纹身并不像常见的臂带和汉字纹身那样使用染料,而是采用纳...
2023-03-12
第三届“好吃苏米”品鉴大赛明天开赛
2023-03-11
准备好了吗?云南气温将“跳水”、强对流天气“上线”
2023-03-11
1、亚麻指的是亚麻布。亚麻是将亚麻捻成线织成的。它的表面不像棉花和化纤那样光滑,有生动的凹凸纹理。...
2023-03-11
Copyright © 2015-2022 热讯纤维网版权所有 备案号:豫ICP备20005723号-6 联系邮箱:29 59 11 57 8@qq.com