暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Etcd性能注意事项

云原生CTO 2021-05-12
1102

点击上方 云原生CTO,选择 设为星标

               优质文章,每日送达


「【只做懂你de云原生干货知识共享】」

Etcd性能注意事项

Etcd是Kubernetes的心脏。在operator模型盛行的情况下,Etcd不再仅限于使用Kubernetes核心集群引擎。

以下是在部署基于operator的解决方案框架时,我的OpenShift集群上主要Etcd指标的屏幕截图。您可以看到,在普通的OCP平台上,数据库大小和内存都增加了3到4倍。

另一方面,如果不考虑某些硬件和软件因素,将严重影响Etcd的稳定性。

硬盘延迟

Etcd对磁盘延迟非常敏感。如果当前领导者由于磁盘速度慢而无法将Raft日志及时同步到磁盘,则群集将失去领导者。领导者选举过程被触发。如果新选当的领导人无法及时同步数据,则将形成死循环。然后将触发链式效果,API服务器不可用,OpenShift集群operator将不可用,应用程序operator也将无法正常运行...

Etcd以分布格式公开了两个与磁盘相关的指标。该backend_commit当ETCD提交的其最近的更改到磁盘的增量快照被调用时,相应的prometheus度量「etcd_disk_backend_commit_duration_seconds_bucket」。该wal_fsync被调用时ETCD应用之前仍然存在,它的日志条目到磁盘,相应的prometheus度量「etcd_disk_wal_fsync_duration_seconds_bucket。」

通常,wal_fsync的99个百分位数应小于10毫秒。backend_commit的99%应该小于25毫秒。我们可以使用Prometheus公式显示这些指标

histogram_quantile(0.99,rate(etcd_disk_wal_fsync_duration_seconds_bucket [5m]))
histogram_quantile(0.99,rate(etcd_disk_backend_commit_duration_seconds_bucket [5m]))

以下是群集上的两个指标分布。

                             backend_commit的99%

                              wal_fsync的99%

您会看到,由于负载沉重,磁盘延迟指标处于各自要求的边缘。SATA旋转磁盘不再可用。主/ etcd节点需要磁盘的SSD等级。

KVM VM磁盘调整

通常,Kubernetes节点在VM中运行。现代的虚拟机管理程序技术已经取得了足够的进步,以至于VM磁盘性能几乎等同于裸机服务器。通常,VM的默认设置将能够利用SSD磁盘。

就KVM而言,我做了一些小的优化。

  • 磁盘镜像为RAW格式。
  • 磁盘驱动程序正在使用virtio,并且将缓存设置为none。

下面列出了使用virsh创建虚拟机的示例命令。

virsh vol-create-as {{.pool}} {{.vmName}}。img {{.diskSize}}
virt-install --name = {{.vmName}} --ram = {{.mem}} --vcpus = {{.cpu}} --disk path = {{.path}} / {{.vmName} } .img,bus = virtio,cache = none --noautoconsole --graphics = vnc --network network = {{.network}},model = virtio --boot hd,cdrom --cdrom {{.isoPath}}

主/ Etcd节点数

我曾经运行一个主/etcd节点来在测试环境中保存资源。我在上面的OpenShift 4.4中应用了一些走动来支持一个主节点。

oc patch etcd cluster -p='{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}' --type=merge

然而,在最新的OpenShift 4.6中,我的磁盘延迟已经到了推荐值的边缘。即使在测试环境中,我也别无选择,只能选择3个master,或者面对一个不稳定的集群。

结论

磁盘延迟对Kubernetes集群的整体稳定性有重大影响。寻找SSD磁盘和多个Etcd节点。

参考🙉

https://itnext.io/etcd-performance-consideration-43d98a1525a3


文章转载自云原生CTO,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论