混沌工程 ChaosMeta 的全新版本 V0.7.0 现已正式发布!该版本包含了许多新特性和增强功能,在编排界面提供了多集群管理,在代码层面支持多命令下发通道的选择。另外由蚂蚁集团发起的ChaosMeta于北京时间2024年1月10日正式进入CNCF混沌工程全景图。
ChaosMeta进入CNCF混沌工程全景图
北京时间2024年1月10日,ChaosMeta正式进入CNCF混沌工程全景图,在混沌工程领域占有一席之地。ChaosMeta会在混沌工程、云原生、AI等领域不断精进,持续构建稳定性平台生态圈。
新版本特性
▌多集群管理
简介:ChaosMeta支持多集群管理,ChaosMeta不仅支持阿里云ACK,也同时支持其他云厂商或者自建的K8S集群,提供强大的可扩展性。
原理:为了更好的在中枢集群中管理多个k8s集群,在不使用开源联邦特性的情况下,基于Kubeconfig实现了一套K8S多集群管理的方案。
注意:控制面chaosmeta-platform只部署一个集群即可,chaosmeta-inject、chaosmeta-daemon、chaosmeta-flow等所有运行面组件都需要在各个集群部署一套。
▌页面配置
1.多集群配置:在配置页面导入集群,配置Kubeconfig文件。
2.攻击集群选定:在填写攻击参数时选择攻击集群,可选择的攻击集群就是步骤一所配置的有权限的K8S集群。
▌多命令下发通路
简介:大型IT公司通常会对命令下发通道有着严格的限制,正因如此我们不仅提供ChaosMeta自建的命令下发通道(Daemonset),也支持接入其他已经存在的命令下发通道。
原理:实现下面的Middleware就可以接入已存在的命令下发通道。(ExecCmdTask、QueryTaskStatus)
▌代码适配
type Middleware interface {
// 脚本执行: host: 集群ip, cmd:下发的shell指令, userKey: 用户id, sync: 同步或者异步
ExecCmdTask(ctx context.Context, host string, cmd string) common.TaskResult
// 任务状态查询:taskId 任务id, userKey: 用户id
QueryTaskStatus(ctx context.Context, taskId string, userKey string) common.TaskResult
}
新版本修复
1. 修复cron表达式定期执行失效的问题。
2. 修复定时任务的时区显示问题。
未来方向
接下来我们会继续完善各方面的能力
- 支持大模型领域相关能力的建设,比如训练任务延迟、推理结果编码篡改等。
- 支持安全领域相关能力的建设,比如数据库勒索、服务权限篡改、SYN洪水等。
- 支持PaaS、中间件领域相关能力的建设,比如请求apiserver超时、监控系统指标异常等。
加入我们
作为一个开放的项目,我们认可开源的研发模式,并致力于将 ChaosMeta 社区打造成一个开放和有创造力的社区。后续,所有的研发、讨论等相关工都会在社区透明运行。
我们欢迎任何形式的参与,包括且不限于提问、代码贡献、技术讨论、需求建议等。期待收到社区想法和反馈,以推动项目往前进一步发展。
如果对我们的项目或者设计理念感兴趣,请 star 我们的项目给予支持。
项目 GitHub 地址:
https://github.com/traas-stack/chaosmeta
官方文档:
https://chaosmeta.gitbook.io/chaosmeta-cn
微信群:请添加负责人邀请入1群,或者扫码入2群
钉钉群:21765030887
公众号:ChaosMeta混沌工程