3.8. 用于 etcd 的 OpenShift Container Platform 计时器可调项
OpenShift Container Platform 会维护已为每个平台优化的 etcd 计时器。OpenShift Container Platform 已规定了为各个平台供应商优化的验证值。带有 platform=none 或 platform=metal 的默认 etcd 计时器如下:
- name: ETCD_ELECTION_TIMEOUT value: "1000" ... - name: ETCD_HEARTBEAT_INTERVAL value: "100"
- name: ETCD_ELECTION_TIMEOUT
value: "1000"
...
- name: ETCD_HEARTBEAT_INTERVAL
value: "100"
从 etcd 的角度来看,两个键值是选举超时和心跳间隔:
- 心跳间隔
- 领导通知跟随者它仍然是领导的频率。
- 选举超时
- 此超时是跟随者节点在尝试成为领导前需要等待的、没有接收到心跳信号的时长。
这些值并不是 control plane 甚至 etcd 的全部影响。etcd 集群对磁盘延迟非常敏感。因为 etcd 必须在其日志中保留提议,所以来自其他进程的磁盘活动可能会导致长时间 fsync 延迟。因此,etcd 可能会丢失心跳,从而导致请求超时和临时领导丢失。在领导丢失和重新选举的过程中,Kubernetes API 无法处理任何请求,并可能出现对集群服务有影响的事件,并造成集群不稳定。