写点什么

Gremlin 发布原生 Kubernetes 混沌测试功能

  • 2020-01-16
  • 本文字数:1276 字

    阅读完需:约 4 分钟

Gremlin 发布原生 Kubernetes 混沌测试功能

混沌工程平台 Gremlin 发布了原生 Kubernetes 支持,可用于识别、定位和测验 Kubernetes 对象,以便主动识别服务弱点。由于自动发现可以跨主机编排容器,所以它可以在 Kubernetes 基础设施上运行实验。


Gremlin 是一个平台服务,它可以为 Kubernetes、云环境、裸机和无服务器(Serverless )提供混沌实验。混沌工程是一种研究复杂系统在压力下是如何运行的测试方法,其目标是在故障发生之前就能识别出故障。Gremlin 提供了一个攻击框架,可将故障注入到系统中,例如限制关键资源或模拟不可靠的网络。攻击可以按场景分组,且这些场景可运行并记录攻击的结果。


Gremlin 的原生 Kubernetes 支持通过 Gremlin 用户界面或 API 提供对 Kubernetes 对象的测试。在此版本之前,要对 Kubernetes 中的服务进行 Gremlin 攻击,需要定位该服务的容器。由于 Kubernetes 对容器编排进行了抽象,并定期销毁和创建容器,因此尝试定位特定服务的容器可能会比较困难。现在 Gremlin 允许在服务级别而不是容器级别对指定的 Kubernetes 应用程序进行混沌测试。Gremlin 首席技术官(CTO)兼联合创始人 Matthew Fornaciari 表示:


我们的目标是为正在构建和部署现代应用程序的 SRE(Site Reliability Engineer ,网站可靠性工程师)和 DevOps 团队提供必要的工具和流程,以帮助他们在故障影响客户和业务之前,就可以了解系统是如何处理故障的。


Gremlin 的 Kubernetes 测试框架自动化了识别并定位 Kubernetes 原语(例如,node 和 Pod)的过程。配置了网络攻击的用户还可以控制他们想要中断的 Kubernetes 服务流量。


要启用 Kubernetes 测试,用户必须首先通过 helm chart 升级他们的 Gremlin 客户端。Gremlin 客户端升级后,就可以通过 UI 创建攻击,在 UI 中可以使用一个新的 Kubernetes 选项。提供了 Kubernetes 集群和命名空间的列表,可用于过滤要测试的 Kubernetes 对象。这些对象按 Deployment、DaemonSet、ReplicaSet、StatefulSet 和 Pod 进行细分,可以精确定位混沌实验的目标。选择对象后,Gremlin 将提供集群地图,并会突出显示受该实验影响的区域。



来自 Gremlin 博客 Gremlin 攻击用户界面


定义好实验后,Gremlin 将定位底层容器。测试运行时,受影响的容器将会体现在测试结果报告中,并按其所属的 Kubernetes 对象分组。容器的详细信息和日志也会作为实验结果的一部分被提供。


随着 Netflix 的混沌猴子(Chaos Monkey)的出现, 混沌工程开始流行起来。混沌猴子通过随机终止线上的实例来测试服务是如何处理故障的。kube-monkey,一个社区驱动的 Kubernetes 实现工具,同样可以删除集群中的 Kubernetes pod。开源工具 Litmus 提供了一个比 Gremlin 框架更容易配置的测试套件。Litmus 允许用户在 Kubernetes 环境中运行测试套件、捕获日志、生成报告及执行混沌测试。Litmus 还可以作为端到端测试方法的一部分添加到 CI/CD 管道中。


Gremlin 与 Kubernetes 的集成可用于免费版和专业版用户。在某个场景中定位 Kubernetes 还不可用。有关在 Gremlin 中使用 Kubernetes 的更多信息,请查看 Gremlin 文档


原文链接:


Gremlin Releases Native Kubernetes Chaos Testing


2020-01-16 09:002541

评论

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

VLAN原理和配置,交换机创建vlan的多种方法、三种接口模式的作用和配置方法、Access、Trunk、Hybrid接口的特性以及配置方法和命令

Python-派大星

10月月更

嘉宾预告(一) | 安全左中右 · 2022 XDR网络安全运营新理念峰会

未来智安XDR SEC

网络安全

技术翻译之我见——标准、实操与收益

刘华Kenneth

翻译 图数据库

Vue组件入门(十三)作用域插槽

Augus

Vue 10月月更

云计算 Fusion Compute虚拟机挂载Tools 并给虚拟机配置静态IP

Python-派大星

10月月更

算法题学习---链表反转

桑榆

c++ 算法题 10月月更

离职交接,心态要好

程序人生 职场

Spring Boot「12」自定义 starter

Samson

Java spring 学习笔记 spring-boot 10月月更

定时任务:历史 & 应用

agnostic

定时任务

教你如何使用华为云的DLV平台搭建无人机飞行轨迹大屏,教科书级别的文章,非常详细

wljslmz

物联网 无人机 数据可视化 10月月更 智慧大屏

“程”风破浪的开发者|元宇宙就是游戏吗?元宇宙的核心价值是什么?

王中阳Go

学习 深度思考 程序员 元宇宙 “程”风破浪的开发者

两类常见场景下的云原生网关迁移实践

阿里巴巴云原生

阿里云 云原生网关

架构作业3-外包学生管理系统架构文档

许四多

Java线程池源码深度解析

JAVA旭阳

Java 线程池 10月月更

MySQL超详细安装教程 手把手教你安装MySQL到使用MySQL 最简单的MySQL安装方式,这种方式装,卸载也简单(零基础入门MySQL)

Python-派大星

10月月更

同情是对他人的不尊重

欧阳娜

HTTP缓存浅析与应用

甜点cc

前端 HTTP 10月月更

Vmware虚拟机上CentOS8安装教程

DS小龙哥

10月月更

今年很难被薪资倒挂了!

小小怪下士

Java 程序员

嵌入式 Linux 入门(三、Linux Shell 及常用命令说明)

矜辰所致

Linux Shell 10月月更 Shell命令

“程”风破浪的开发者|我的Docker学习小妙招

学习方法 “程”风破浪的开发者

Java线程池submit阻塞获取结果实现原理

JAVA旭阳

Java 线程池 10月月更

从项目制到产品制,日子变美好了吗?

刘华Kenneth

DevOps 敏捷 软件项目

docker 的 bridge,container网络模式

忙着长大#

,docker

ES6中数组做了哪些新扩展?

CoderBin

JavaScript 面试 前端 ES6 10月月更

复盘:一次测试负责人岗位面试总结

老张

面试 质量保障 团队规划

Linux下安装Anaconda3,这个教程一定要看!

麦洛

Anaconda python 3.5+

“程”风破浪的开发者|我的学习方法

张立梵

学习方法 “程”风破浪的开发者

【JavaWeb】 Mybatis-01-Mybatis的简介:用对话的方式让你明白为什么要使用Mybatis

游坦之

10月月更

Eclipse 2022 如何设置中文汉化 步骤绝对足够详细

Geek_yx5md7

eclipse 汉化教程

直接插入排序算法,看这篇就够了

游坦之

算法 10月月更

Gremlin 发布原生 Kubernetes 混沌测试功能_容器_K Jonas_InfoQ精选文章