实例锁机制出现异常如何处理?
动作执行失败,提示当前实例正在被其他动作注入故障
为避免同类型的故障对同一实例注入故障后无法准确观察实例状态表现,平台增加实例锁机制,保证同一时刻下对同一实例仅有单一故障动作可执行,其他动作将被排斥。但平台额外考虑到有部分动作互不干扰,无需竞争相同的实例锁,故根据动作类型,再次区分锁的类型,如允许 CPU 类故障动作与内存类故障动作同时执行,但同类型动作将无法同时执行。
云服务器常见问题有哪些?
压测动作(如 CPU 利用率高,磁盘分区使用率高等动作)动作执行失败,提示 stress-ng 安装失败
服务器操作系统不支持安装,请根据动作要求更换操作系统。
网络故障动作执行失败,提示 Error: Exclusivity flag on, cannot modify.
本次故障所下发的 TC 规则与原有规则冲突,无法覆盖已有规则。可检查是否存在之前的演练动作没有及时恢复,或者可修改配置参数,强制覆盖该规则。
IO Hang 动作执行失败,提示获取操作系统失败
用户操作系统不支持该动作执行,平台目前支持系统版本为:centos 7.2及以上、Debian 8.2及以上、Ubuntu 16.0.4及以上、TencentOS。
Redis 常见问题有哪些?
主从切换动作执行失败,提示实例不存在跨AZ副本,无法执行主从切换
该实例升级为支持跨可用区部署后并没有跨可用区的节点,Redis 无法进行主从切换。需进入 Reids 实例详情,增加其他可用区副本后才可以进行主从切换模拟。
容器常见问题有哪些?
动作执行失败,故障动作返回的 yaml 文件提示 Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
由于该执行动作的 pod/container 所属的节点重启了 dockerd,导致探针工具所挂载的 docker.sock 失效。
解决方案:
选择指定 IP 节点下的 chaosblade-tool 容器组销毁重建。
进入混沌演练平台-探针管理页面,卸载探针后重新安装该集群探针。
磁盘高负载动作执行成功,恢复动作返回的 yaml 文件提示 error: '`pods/exec`: k8s exec failed, err: command terminated with exit code 137
节点锁使用的磁盘容量达到一定程度,触发容器销毁重建,故障动作所造成的影响在重建后自行恢复,无需重复执行恢复动作。
Node 内存高负载动作执行失败,提示object is being deleted: chaosblades.chaosblade.io "mem-load.5262.cls-xxx" already exists
Node 内存达到一定阈值后,节点的 kubelet 进程会被阻塞,而恢复动作只是下发删除实验的命令,返回恢复成功,但是实际执行会依赖于 node 的 kubelet,而此时 kubelete 因为内存资源不足被阻塞,因此实验删除任务一直未被执行。在该状况下,若用户再次执行故障注入,则会出现 mem-load.5262.cls-xxx already exists 错误。该过程中 node 监控,容器平台节点健康检查均呈现一场,需等待节点将第一次执行的被阻塞的恢复动作真正执行完成后,状态才会恢复,此过程大约需要30分钟。