本文仅代表大魏的个人观点,生产环境请以红帽实施团队的官方观点为准。
OpenShift Etcd集群每隔100ms会检测心跳。如果OpenShift的环境网络条件差,Master节点之间网络延迟超过100ms,则可能导致群集中的不稳定和频繁的leader change(详见https://access.redhat.com/solutions/4885601)。Etcd Leader的选举,默认必须在1s之内完成,否则OpenShift集群为了保护etcd数据的一致性,将暂停对集群的配置更改类操作。出现如下报错:

查看etcd的日志,可以看到如下内容(网络延迟过大,造成etcd member无法同步)

此外,存储的超时也会对Etcd造成严重影响。要排除磁盘缓慢导致的Etcd警告,可以监视指标backend_commit_duration_seconds(p99持续时间应小于25ms)和wal_fsync_duration_seconds(p99持续时间应小于10ms)以确认存储速度正常(详见https://access.redhat.com/so

本文介绍了OpenShift 4环境下,由于网络延迟可能导致的etcd集群不稳定问题。建议的解决方案是调整ETCD_ELECTION_TIMEOUT和ETCD_HEARTBEAT_INTERVAL参数,以适应网络条件。详细探讨了这两个参数的合理取值范围,并提供修改etcd静态Pod配置的方法,确保参数在重启和删除Pod后仍有效。然而,升级OCP集群会重置这些设置,需要重新调整。
最低0.47元/天 解锁文章
223

被折叠的 条评论
为什么被折叠?



