作者:丁源 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
查看 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。