etcd#
etcd is a consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. It handles leader elections during network partitions and can tolerate machine failure, even in the leader node.
For MKE 4, etcd serves as the Kubernetes backing store for all cluster data, with etcd replicas deployed on each MKE 4 manager node. This is a primary reason why Mirantis recommends that you deploy an odd number of MKE 4 manager nodes, as etcd uses the Raft consensus algorithm and thus requires that a quorum of nodes agrees on any updates to the cluster state.
You can configure etcd through the etcd section of the mke4.yaml
configuration file, an example of which follows:
spec:
etcd:
storageQuota: 2GB
tlsCipherSuites: TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256
In reference to the etcd section values:
-
storageQuotasets the maximum size etcd allows its database to grow to before it raises an alarm and moves to maintenance mode, rejecting further writes until space is reclaimed. Set this value with care: too low a quota risks unplanned write outages, while too high a quota risks larger snapshots and slower recovery. If you omitstorageQuota, etcd applies its own default limit. -
tlsCipherSuitessets the etcd cipher suites explicitly.
For comprehensive information, refer to the official etcd documentation.