Elasticsearch一旦遇到网络抖动就可能节点(单个或者多个)掉出集群。从而集群出现red/yellow状态,理论情况下ES会自愈,但某些情况下可能非预期,此时就需要我们模拟各种case了,比如网络丢包。
1. 进入ES pod获取虚拟网卡信息
cat /sys/class/net/eth0/iflink
获取到的虚拟网卡的编号为 64;
2. 进入宿主机,找到虚拟网卡名称
ip link
3. tc命令模拟随机丢包 10%
sudo tc qdisc add dev lxcf89d7a70df9b root netem loss 10%
补充:tc命令模拟延迟(从 lxcf89d7a70df9b 虚拟网卡出去的包将延迟 40ms)
sudo tc qdisc add dev lxcf89d7a70df9b root netem delay 40ms
4. 删除规则(关闭模拟丢包)
sudo tc qdisc del dev lxcf89d7a70df9b root
丢包监控:
获取虚拟网卡: