云原生 | 混沌工程工具 ChaosBlade Operator Pod 篇

本文介绍了如何使用 ChaosBlade Operator 对 Kubernetes 中的 Pod 进行混沌工程测试,包括删除 Pod、网络延迟、网络丢包、文件系统 I/O 故障和域名访问异常等场景,旨在提升云原生应用的稳定性和可靠性。
摘要由CSDN通过智能技术生成

作者:丁源 RadonDB 测试负责人

负责 RadonDB 云数据库、容器化数据库的质量性能测试,迭代验证。对包括云数据库以及容器化数据库性能和高可用方案有深入研究。

继《混沌工程工具 ChaosBlade Opeator 系列》的 入门篇Node 篇 之后。本期将针对 Pod 类资源的应用场景进行测试,测试场景包括:

  • 资源场景,比如删除 Pod
  • 网络资源场景,比如网络延迟
  • 文件系统异常场景
  • 不可用异常场景

| 实验环境

测试对象

基于 KubeSphere 平台的 RadonDB MySQL 容器化数据库进行测试。

RadonDB MySQL 部署说明请参见 《在 KubeSphere 中部署 RadonDB MySQL 集群》。

环境参数

集群名称 主机类型 CPU Memory Total Disk Node Counts Replicate counts Shard counts
KubeSphere 高可用类型 8C 16G 500GB 4 - -
RadonDB MySQL - 4C 16G POD: 50G DataDir: 10 G 3 2 1

测试环境部署完成后,即可从以下五大类场景做相应验证。

1. Pod 删除资源场景

1.1 测试目标

删除 ChaosBlade 命名空间下标签是 chaosblade-tool-nhzds 的 Pod。

1.2 开始测试

查看 Pod 状态。

$ kubectl get pod chaosblade-tool-nhzds -n chaosblade  -w

file

查看 delete_pod_by_labels.yaml 中参数信息。

apiVersion: chaosblade.io/v1alpha1
kind: ChaosBlade
metadata:
  name: delete-two-pod-by-labelsspec:
  experiments:
  - scope: pod
    target: pod
    action: delete
    desc: "delete pod by labels"
    matchers:
    - name: labels
      value:
      - "demo-radondb-mysql-1"
    - name: namespace
      value:
      - "chaosblade"
    - name: evict-count
      value:
      - "2"

新建终端删除 Pod。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值