写点什么

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:0010856
用户头像

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

关注

评论

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

为什么重写hashCode一定也要重写equals方法?

不在线第一只蜗牛

Java 基础

火山引擎联合Unity中国,共探游戏行业云计算+AI新场景

新消费日报

使用Packer构建镜像

快乐非自愿限量之名

大数据 Linux 服务器

如何利用代理IP提升跨境市场竞争力?

IPIDEA全球HTTP

数智未来:论低代码开发与人工智能技术的适配度

快乐非自愿限量之名

人工智能 低代码

扫码填表时,如何快速填充上次提交的内容?

草料二维码

软件测试学习笔记丨SQL子查询实战练习

测试人

软件测试

掌握VS Code:提升前端开发效率的秘诀

秃头小帅oi

成为顶尖1%前端开发者的10项必备技能

伤感汤姆布利柏

图解Kafka:Kafka架构演化与升级!

王磊

大型数字化企业怎么定义?为什么说大型数字化企业更需要堡垒机?

行云管家

数字化 等保

Java微信授权登录小程序接口

快乐非自愿限量之名

Java 小程序 微信

免费做ppt的网站哪个好?这个AI制作PPT神器不容错过!

职场工具箱

效率工具 职场 PPT AIGC AI生成PPT

京东商品列表数据接口:开启电商数据洞察之门

tbapi

京东API接口 京东商品列表数据接口

XSKY 亮相中国移动智算存储论坛,共话 AI 存储创新之路

XSKY星辰天合

深度挖掘市场趋势:利用京东商品列表数据接口进行高效数据分析的技术实践

tbapi

京东商品列表数据接口

低代码开发与项目管理工作流优化

不在线第一只蜗牛

项目管理 低代码 定制化

选对工具,‌事半功倍!‌详解10款项目管理神器

爱吃小舅的鱼

项目管理 项目管理软件

望繁信科技携手松下信息,共话制造业的数智应用之道

望繁信科技

数字化转型 流程挖掘 流程智能

电商搜索革命:大模型如何重塑购物体验?| AICon

京东零售技术

LLM 企业号2024年8月PK榜

YashanDB谈数据库未来出路和方向——回归商业本质 | YashanDB DTCC 2024 首秀

Geek_2d6073

ETL数据集成丨为什么没有做好ETL的BI工具最终都会失败?

RestCloud

数据处理 BI ETL 数据集成

如何根据API返回值优化商品搜索关键词

技术冰糖葫芦

API Explorer API 测试 API】 API 策略

无需多部备用机,云手机方便又便宜!

Ogcloud

云手机 海外云手机 云手机海外版 云手机群控 云手机推荐

ClkLog常见问题-埋点集成篇Sec. 1

ClkLog

JNPF:一文详解可视化低代码开发平台的研究与应用

EquatorCoco

低代码 可视化开发

超八成读者这样阅读,是因为……

脑极体

AI

程序员如何选择博客平台?

博客趣

个人博客 博客搭建 博客平台

云手机:TikTok运营的必备工具

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

Python中的random模块及相关模块详解

我再BUG界嘎嘎乱杀

Python 编程 后端 random 开发语言

观测云对接 Pinpoint 最佳实践

观测云

Pinpoint

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