QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Bloomberg 发布了专用于 Kubernetes 的开源混沌测试工具 PowerfulSeal

  • 2018-01-29
  • 本文字数:1443 字

    阅读完需:约 5 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

近期在美国 Austin 市举行的 KubeCon 北美大会上,Bloomberg 展示了它们最新开源的“ PowerfulSeal ”工具。该工具支持在 Kubernetes 集群内使用停用目标 Pods 和底层节点架构的方式开展混沌测试。Kuberneters 是一种在微服务部署中广为使用的容器编排平台。混沌工程实践有助于弹性系统的构建。

PowerfulSeal 遵循“混沌工程原则”,设计灵感来自于著名的 Netflix Chaos Monkey 。该工具支持工程师“故意地破坏系统”,并观察在引入各种故障模式下会发生什么问题。PowerfulSeal 使用 Python 编写,当前专用于 Kubernetes,并提供了“云驱动器”,可用于管理 OpenStack 平台上的架构故障。PowerfulSeal 还给出了一个 Python 的 AbstractDriver 类,鼓励贡献者开发可用于更多云平台的驱动器。

PowerfulSeal 提供交互和自治两种工作模式,:

  • 交互模式支持运行工程师发现集群中的组件,手工生成一些故障情况并探究后果。该模式支持对节点 Pod 部署命名空间的操作。
  • 自治模式会读取一个定义了一定数量 Pod 和节点故障场景的策略文件,并按指定文件设定方式对系统做“破坏”。在每种场景中,定义了一系列在集群上执行的匹配、过滤和动作。下面给出了一个最小化的非操作(no-op)JSON 策略文件的例子。该文件本身并不会生成任何故障,但是可以进一步将故障定义在JSON 文件的“ nodeScenarios”和“podScenarios”节中。
复制代码
config:
minSecondsBetweenRuns: 47
maxSecondsBetweenRuns: 452
nodeScenarios: []
podScenarios: []

每个故障场景是由匹配、过滤和动作组成的。其中,匹配和过滤可定义为目标节点名称、IP 地址、Kubernetes 命名空间和标签、时间和日期等,动作可定义为 start、stop 和 kill 等。策略文件可使用完整的 JSON schema 验证。在项目的“tests”目录中提供了一个策略文件的例子,其中列出了一些主要的可用选项。

PowerfulSeal 可以通过 pip 安装。可以通过如下过程,初始化并配置用于 Kubernetes 集群的命令行工具:

  • 通过指定一个 Kubernetes 配置文件,将 PowerfulSeal 指向目标 Kubernetes 集群。
  • 通过指定适当的云驱动器和证书,将 PowerfulSeal 指向底层云 IaaS 平台。
  • 确保 PowerfulSeal 可以通过 SSH 登录节点并执行命令。
  • 编写所需的策略文件,并将策略文件加载到 PowerfulSeal。

在过去一年中,混沌工程和弹性工程受到了日益广泛的关注。在此领域,已经推出了首个商业工具,即 Gremlin 。但是该领域的一些思想领袖,例如 Adaptive Capacity Labs 的联合创始人 John Alspaw ,已经警告说不应忽视弹性工程中的人为因素。该警告应得到重视,因为人的因素事实上要比相关的工具更加重要。

Gremlin Inc 的 CEO Kolton Andrus 也指出,仅依靠工具是远远不够的。他进而提出,混沌工程需要训练工程师团队和运行“游戏日”,操练工程师明确应如何对失败做出响应(Andrus 在近期 InfoQ podcast 中对此做了详细的介绍)。就如何建立混沌工程实践并使之成熟化,Netflix 的高级混沌工程师 Nora Jones 也在近期的 InfoQ Podcast 中分享了她的一些想法。

在 PowerfulSeal 项目的 GitHub README 中,提供了更多的细节,并给出了交互式演示。在 CNCF YouTube 频道上,可以看到此次 KubeCon 大会演讲“使用 PowerfulSeal 测试运行在 Kubernetes 上的分布式软件( Testing Distributed Software on Kubernetes with PowerfulSeal )”的视频。

查看英文原文: Bloomberg Release Open Source “PowerfulSeal” Kubernetes-Specific Chaos Testing Tool

2018-01-29 18:0010903
用户头像

发布了 391 篇内容, 共 138.7 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

小游戏的来龙去脉及入局方式

Onegun

小游戏 小游戏开发

百万架构师亲码的亿级流量下的分布式限流解决方案

小小怪下士

Java 程序员 高并发 秒杀

利用美国服务器增加线上业务的客户人群

一只扑棱蛾子

服务器 美国服务器

WorkPlus定制化的局域网会议软件,提供安全稳定的会议体验

BeeWorks

WorkPlus即时通讯app打通业务与生态,实现高效管理与协同

BeeWorks

泰山众筹APP开发,泰山众筹商城开发

V\TG【ch3nguang】

开源生态建设,正成为智能世界发展的关键

新消费日报

用友全球司库十问(四)|企业如何实现融资债券数据信息的实时监控?

用友BIP

全球司库

API接口安全运营研究

Noah

API接口文档 API 安全 API接口安全

WorkPlus国产化即时通讯工具:安全可靠的国内沟通利器

BeeWorks

第一个程序:HelloWorld——IDEA 使用

小齐写代码

小程序等轻应用技术是不是对企业有价值?

Onegun

小程序 轻应用

可视大盘+健康分机制,火山引擎DataLeap为企业降低资源优化门槛!

字节跳动数据平台

大数据 数据治理 成本治理 企业号9月PK榜

启动!中交集团携手用友搭建海外人力资源数智化平台

用友BIP

中企出海 数智人力

中国机械总院张红新:强化集团级数据治理 业财融合助力企业降本增效

用友BIP

业财融合 2023全球商业创新大会

好用的图书阅读器 OmniReader Pro激活中文版

胖墩儿不胖y

Mac软件 图书阅读工具 图书阅读

JPEX事件对于香港加密货币发展的影响

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

云管理平台基本功能有哪些?适配国产化平台吗?

行云管家

云计算 信创 国产化 云管平台 云管理

【数据库审计】2023年数据库审计厂家汇总

行云管家

数据库 数据库审计 等保合规

Java21上手体验-分代ZGC和虚拟线程 | 京东云技术团队

京东科技开发者

Java ZGC 虚拟线程 企业号10月PK榜

Lightroom Classic 2022 for mac(Lrc中文版) 11.5完整激活版

mac

LRC2022 图像处理软件 苹果mac Windows软件 Lightroom Classic 2022

鲲鹏DevKit 23.0:流水线中便捷迭代鲲鹏版本,迁移、开发、调优无缝衔接

彭飞

亚马逊云科技2023柏林峰会主题演讲总结

亚马逊云科技 (Amazon Web Services)

Amazon AIGC

超越React,JS代码体积减少90%!它为何是2023年最好的Web框架?

互联网工科生

Vue React Web框架 Astro

cad设计绘图软件:AutoCAD 2024最新版中文

mac大玩家j

CAD绘图 CAD设计 cad cad工具

MQ技术比较

周晓宁

2023 KiCon Asia 11月12日 深圳见!

华秋电子

kicad

深入理解树状数组 | 京东物流技术团队

京东科技开发者

bit #数据结构 企业号10月PK榜 树状数组

安全高效的政企内部通讯解决方案WorkPlus IM平台

BeeWorks

Bloomberg发布了专用于Kubernetes的开源混沌测试工具PowerfulSeal_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章