2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

YashanDB数据同步与异步复制技术详解

数据库砖家

低代码流程管理必看!JNPF 新手也能 10 分钟上手

引迈信息

Cloud Foundation Kit启动预加载,赋能喜马拉雅秒启秒开流畅体验

HarmonyOS SDK

海外舆情监测系统的重要性:那些你忽略的风险,它早已发现

沃观Wovision

舆情分析 出海 舆情监控 海外舆情监控 沃观Wovision

让大模型更懂用户,算法工程师的成长升级之旅

京东科技开发者

YashanDB数据库的权限管理与用户权利控制技术分析

数据库砖家

理解YashanDB数据库的分布式特性与应用优势

数据库砖家

基于YashanDB的微服务架构数据库设计

数据库砖家

从 Java 到 Go:面向对象的巨人与云原生的轻骑兵

京东科技开发者

快速搭建YashanDB数据库集群的实用教程

数据库砖家

快速掌握YashanDB多用户权限管理,保障数据访问安全

数据库砖家

n8n自动化测试教程 (1):环境搭建与初识n8n

测吧(北京)科技有限公司

结合YashanDB实现企业级数据实时监控系统

数据库砖家

开发者必看:YashanDB数据库的使用技巧与常见问题

数据库砖家

解决方案 | 数据堂垂域大模型数据服务能力解读

数据堂

人工智能 数据标注 大模型 数据服务 垂域大模型

了解YashanDB数据库:让数据管理变得轻松

数据库砖家

理解YashanDB数据库的CAP理论与实际应用

数据库砖家

AI英语背诵APP的开发

北京木奇科技有限公司

AI教育 软件外包公司 AI英语学习

解决YashanDB数据库性能瓶颈的有效措施

数据库砖家

快速上手YashanDB数据库的开发者工具

数据库砖家

AI英语陪练APP的开发

北京木奇科技有限公司

软件外包公司 AI英语学习 AI技术应用

除了DeepSeek,还有哪些值得推荐的AI大模型?5个主流大模型盘点

职场工具箱

人工智能 在线白板 AI大模型 AIGC DeepSeek

快速掌握YashanDB数据库索引优化技巧

数据库砖家

理解YashanDB数据库的缓存机制提升访问速度

数据库砖家

AI口语陪练APP的核心功能

北京木奇科技有限公司

AI技术 软件外包公司 AI英语学习

解析YashanDB的事务管理机制:保障数据一致性的方法

数据库砖家

精通YashanDB索引设计优化数据库查询速度

数据库砖家

go中的singleflight是如何实现的?

王中阳Go

Go

基于YashanDB的数据分片技术应用

数据库砖家

基于YashanDB数据库构建高效的数据中心

数据库砖家

从英伟达到国产算力:一场必须打赢的“迁移之战”

京东科技开发者

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