如何修改Kubernetes上etcd集群的心跳同步时间

如何修改Kubernetes上etcd集群的心跳同步时间

我想修改heartbeat-interval在 kubernetes 上运行的嵌入式 etcd 集群,我知道在安装时我们可以使用 kubeadm extraargs 来执行此操作,但在运行集群时该怎么做?

在修改之前我也想知道当前的值。

编辑1: 要获取现有值,请使用以下命令

kubectl -n kube-system  logs  etcd-<NodeHostName> |grep heart
2021-06-25 11:08:31.612468 I | embed: heartbeat = 100ms

我也尝试过下面但它不起作用k8s.gcr.io/etcd:3.4.13-0

kubectl -n kube-system exec etcd-<NodeHostName> -- env|grep "ETCD_HEARTBEAT_INTERVAL"

答案1

我发现以下配置心跳的方法

在每个 etcd 节点上编辑 /etc/kubernetes/manifests/etcd.yaml 并添加heartbeat-interval以下election-timeout内容,它将重新启动 etcd,因此请延迟一个接一个地添加,这样您就不会丢失 quorm。

- command:
    - etcd
    - --advertise-client-urls=https://x.x.x.x:2379
    - --cert-file=/etc/kubernetes/pki/etcd/server.crt
    - --client-cert-auth=true
    - --data-dir=/var/lib/etcd
    - --initial-advertise-peer-urls=https://x.x.x.x:2380
    - --initial-cluster=x.x.com=https://x.x.x.x:2380
    - --key-file=/etc/kubernetes/pki/etcd/server.key
    - --listen-client-urls=https://127.0.0.1:2379,https://x.x.x.x:2379
    - --listen-metrics-urls=http://127.0.0.1:2381
    - --listen-peer-urls=https://x.x.x.x:2380
    - --name=x.x.x.x.com
    - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
    - --peer-client-cert-auth=true
    - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
    - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    - --snapshot-count=10000
    - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    - --heartbeat-interval=500
    - --election-timeout=5000

相关内容