etcd优化

优化心跳时间和选举时间(用于延迟高IO慢的时候)

# 默认心跳超时为100ms 选举超时未500ms
# Command line arguments:
$ etcd --heartbeat-interval=100 --election-timeout=500

# Environment variables:
$ ETCD_HEARTBEAT_INTERVAL=100 ETCD_ELECTION_TIMEOUT=500 etcd

优化快照(用于磁盘和内存使用过高的情况)

# 默认为10000次做一次快照,压缩key变更生成的日志,删除老日志
# Command line arguments:
$ etcd --snapshot-count=5000

# Environment variables:
$ ETCD_SNAPSHOT_COUNT=5000 etcd

设置网络和磁盘优先级

# best effort, highest priority
$ sudo ionice -c2 -n0 -p `pgrep etcd`

tc qdisc add dev ens192 root handle 1: prio bands 3
tc filter add dev ens192 parent 1: protocol ip prio 1 u32 match ip sport 2380 0xffff flowid 1:1
tc filter add dev ens192 parent 1: protocol ip prio 1 u32 match ip dport 2380 0xffff flowid 1:1
tc filter add dev ens192 parent 1: protocol ip prio 2 u32 match ip sport 2379 0xffff flowid 1:1
tc filter add dev ens192 parent 1: protocol ip prio 2 u32 match ip dport 2379 0xffff flowid 1:1

参考文档

https://blog.51cto.com/dangzhiqiang/2286891
https://github.com/etcd-io/etcd/blob/master/Documentation/tuning.md
http://www.52os.net/articles/reduce-cpu-io-priority.html

你可能感兴趣的:(kubernetes)