为什么我看到 etcd database size is approaching the maximum 错误?
排查集群中 etcd 数据库容量问题。
虚拟私有云 传统基础设施 Satellite
您会看到一条类似以下示例的错误消息。
etcd database size is approaching the maximum
Red Hat OpenShift on IBM Cloud 使用 etcd 数据库作为所有群集数据的后备存储。 该数据库用于存储配置映射、密钥、部署以及所有其他 Kubernetes 资源。
etcd 数据库的最大大小取决于您的集群版本。 在正常运行条件下,这些限值可提供足够的容量。 但是,如果用户或进程创建了大量对象,那么正在使用的数据库大小可以达到最大大小。
- 4 GiB
- 运行 Red Hat OpenShift 版本 4.19 及更早版本的集群。
- 6 GiB
- 运行版本为 4.21 及更高版本,或版本为 4.20.25_1556_openshift 及更高版本的集群。
确定占用 etcd 数据库空间的资源。
-
通过运行以下命令来检查 apiserver 中的度量值。
kubectl get --raw /metrics -
搜索
apiserver_storage_objects metrics的输出,这将告诉您 etcd 数据库中存在的每种对象的数量。 查找具有数万个或数十万个关联对象的资源类型。 这些资源是最有可能导致该问题的原因。 但是,请记住,重要的是这些对象的大小而不是其数量。 -
对于在上一步中标识的资源,请查看并调整其设置以减少要创建的对象数。 例如,常见问题是配置错误的操作程序,这些操作程序会自动创建过多的私钥。
-
调整资源设置后,请清除资源以恢复 etcd 数据库的大小。
-
如果问题仍然存在,请联系支持团队。 打开 支持案例。 在案例详细信息中,请确保包含任何相关日志文件,错误消息或命令输出。