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 无法处理任何请求,并可能出现对集群服务有影响的事件,并造成集群不稳定。