前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus

故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus

原创
作者头像
程序员吾真本
修改2023-08-15 15:18:07
3570
修改2023-08-15 15:18:07
举报
文章被收录于专栏:程序员吾真本程序员吾真本

Litmus 最初是 OpenEBS(K8S下存储系统) 的测试工具,后来发展成为知名的 Kubernetes 原生混沌工程开源平台。

创建者

MayaData

一句话介绍

LitmusChaos 是一个在故障创建与编排方面更胜一筹的K8S混沌工程开源平台,如提供故障注入实验库 ChaosHub,使团队能够以受控方式,引入故障注入实验来识别基础设施中的弱点和潜在停机隐患 。

Litmus 2.0关键特性

故障注入实验场景创建与编排

可用以下方式创建实验:实验模板,使用ChaosHub的实验从头自定义,预先创建的 YAML实验。支持故障注入实验调度(并行和顺序执行步骤)。可安排单次或 Cron定时故障注入场景。可以用例优先级标注故障注入实验。

ChaosHub故障注入实验市场

Litmus拥有ChaosHub这个开源故障注入实验市场,托管 Litmus 所提供的各种故障注入实验。 这些实验是声明性的,并且可以根据需要进行调整。 使用hub接口来调整和部署实验,并迈出实验的第一步。

7类故障注入实验类型

ChaosHub中的49个故障注入实验,可以分为7类:通用、亚马逊云kube-aws、亚马逊云系统管理服务SSM、谷歌云gcp、微软云azure、VMware和SpringBoot。

通用实验,包括pod-delete、pod-dns-error、container-kill、pod-cpu-hog、pod-network-corruption、pod-memory-hog、pod-network-latency、pod-network-loss、disk-fill、pod-io-stress、node-cpu-hog、pod-network-duplication、node-memory-hog、kubelet-service-kill、pod-memory-hog-exec、node-drain、pod-cpu-hog-exec、node-io-stress、node-restart、pod-autoscaler、pod-dns-spoof、node-taint、pod-http-status-code、pod-http-latency、pod-network-partion、docker-service-kill、pod-http-reset-peer、pod-http-modify-header、pod-http-modify-body。

亚马逊云kube-aws实验,包括ec2-terminate-by-tag、ec2-terminate-by-id、ebs-loss-by-tag、ebs-loss-by-id、aws-az-chaos。

亚马逊云系统管理服务SSM实验,包括aws-ssm-chaos-by-id、aws-ssm-chaos-by-tag。

谷歌云gcp实验,包括gcp-vm-instance-stop、gcp-vm-disk-loss、gcp-vm-instance-stop-by-label、gcp-vm-disk-loss-by-label。

微软云azure实验,包括azure-instance-stop、azure-disk-loss。

VMware实验,vm-poweroff。

SpringBoot实验,包括spring-boot-latency、spring-boot-exceptions、spring-boot-cpu-stress、spring-boot-memory-stress、spring-boot-app-kill、spring-boot-faults。

Litmus探针

可以在 ChaosEngine 中为任何故障注入实验定义可插入的Litmus 探针,使得实验容器可以根据定义的模式,执行相关检查,以确定实验结论。

混沌工程可观测性

可连接数据源(来自任何 Chaos Delegate)并监控故障注入场景。能可视化故障注入场景运行的统计数据和并做数据聚合。可比较两个或多个故障注入场景的观测数据。可上传社区中可用的共享或可下载的仪表盘。可编辑查询、调整仪表板以从头开始创建自定义的仪表盘。可使用 Prometheus 数据源中的交错事件和指标实时监控故障注入实验的影响。

K8S多租户

Kubernetes 命名空间可用作 Kubernetes 上个人开发人员的完全托管环境。 Litmus 的所有功能都可以在 Kubernetes 命名空间中使用,以便实现故障注入实验在租户之间的隔离。

实验权限控制

可创建基于角色访问控制的用户。可创建拥有多个用户的团队。可验证用户身份。

故障注入场景管理

支持使用基础设施即代码的 GitOps 实现故障自动注入。允许从自定义镜像服务器(公共和私有)添加镜像。可测量并分析每个故障注入场景的韧性分数。

适用平台

K8S

适用场景

对于开发人员:在应用程序开发过程中运行故障注入实验,作为单元测试或集成测试的扩展。

对于 CI/CD 流水线构建者:将故障注入实验作为流水线的阶段运行,以检验应用程序能否应对流水线中的故障场景。

对于 SRE:规划和安排应用程序和相关基础设施的故障注入实验,以识别部署系统中的弱点并提高韧性。

优势

拥有较强故障创建与编排能力,如拥有开源故障注入实验市场ChaosHub。

可通过Web UI 查看实验及其历史记录。

原生集成可观测性工具,方便在实验期间监控系统运行状况。

劣势

Litmus 是一个功能全面的工具,但要用好它,需要学习很多知识。

ChaosCenter Web 界面可以轻松运行实验,但没有提供太多指导。 选用 Litmus 的团队需要知道要运行什么实验,要测试什么以及如何解释结果。这对于刚刚接触混沌工程的团队来说,是一项挑战。

开源许可证

Apache-2.0 license

GitHub点赞数

3.8k

最近发布日期与版本

2023.07: 3.0.0-beta10

所属项目

CNCF云原生计算基金会项目

* * *

你还知道有什么好用的开源故障注入工具?你还希望我聊有关混沌工程的其他什么新话题?欢迎在评论区留言。我会仔细阅读每一条留言。期待听到你的声音。

如果觉得本文对你有帮助,欢迎点赞,并转发给其他志同道合的小伙伴。

企业生意好,系统运行稳。你所阅读的文章,来自“吾真本说混沌工程”知乎专栏。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建者
  • 一句话介绍
  • Litmus 2.0关键特性
  • 适用平台
  • 适用场景
  • 优势
  • 劣势
  • 开源许可证
  • GitHub点赞数
  • 最近发布日期与版本
  • 所属项目
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档