• 混沌工程之ChaosMesh使用方法


    Chaos Mesh是什么?它是一个云原生的混沌测试平台,它提供在 Kubernetes 平台上进行混沌测试的能力,最近在逛github的时候看见了混沌测试技术,自己本身也是一名测试工作者,好奇中就研究了一下混沌工程相关知识。

     Chaos Mesh的整体架构如下:

     

    我个人习惯学习新知识首先要知道它的工作原理,那么 接下来我们首先看一下Chaos Mesh 的工作原理

     

     1.Controller-manager 目前 controller-manager 可以分为两部分,一部分 controllers 用于调度和管理 CRD 对象实例,另一部分为 admission-webhooks 动态的给 Pod 注入 sidecar 容器。

     2.Chaos-daemon Chaos-daemon 以 daemonset 的方式运行,并具有 Privileged 权限,Chaos-daemon 可以操作具体 Node 节点上网络设备以及 Cgroup 等。

     3.Sidecar Sidecar contianer 是一类特殊的容器,由 admission-webhooks 动态的注入到目标 Pod 中,目前在 Chaos Mesh 中实现了 chaosfs sidecar 容器,chaosfs 容器内会运行 fuse-daemon,用来劫持应用容器的 I/O 操作。

     接着看一下Chaos Mesh的工作流程

     1.用户通过 YAML 文件或是 Kubernetes 客户端往 Kubernetes API Server 创建或更新 Chaos 对象。

     2.Chaos-mesh 通过 watch API Server 中的 Chaos 对象创建更新或删除事件,维护具体 Chaos 实验的运行以及生命周期,在这个过程中 controller-manager、chaos-daemon 以及 sidecar 容器协同工作,共同提供错误注入的能力。

     3.Admission-webhooks 是用来接收准入请求的 HTTP 回调服务,当收到 Pod 创建请求,会动态修改待创建的 Pod 对象。

     最后 我们来看一下Chaos Mesh能做什么

     pod-kill:模拟 Kubernetes Pod 被 kill

     pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景

     network-delay:模拟网络延迟

     network-loss:模拟网络丢包

     network-duplication: 模拟网络包重复。

     network-corrupt: 模拟网络包损坏

     network-partition:模拟网络分区

     I/O delay : 模拟文件系统 I/O 延迟

     I/O errno:模拟文件系统 I/O 错误

     总结:今天主要介绍了一下Chaos Mesh的工作原理,工作流程以及它能做的事情

  • 相关阅读:
    JavaScript数组方法
    模拟js数组indexOf方法
    js数组排序
    发布Exchange的SMTP,POP3服务器:ISA2006系列之十八
    用智能卡构建身份验证的马其诺防线:ISA2006系列之二十三
    Java与CSharp的相同与不同
    创建可传递的林信任,Active Directory系列之二十
    组策略指派Office2003分发,Active Directory系列之二十三
    发布Exchange的RPC以及RPC Over HTTPS:ISA2006系列之十九
    初步理解组策略,Active Directory系列之二十一
  • 原文地址:https://www.cnblogs.com/klb561/p/16650484.html
Copyright © 2020-2023  润新知