首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >状态集最佳实践的动态缩放

状态集最佳实践的动态缩放
EN

Stack Overflow用户
提问于 2020-07-24 08:55:26
回答 1查看 1.7K关注 0票数 3

背景

我的应用程序运行在kubernetes集群中,使用了切分的mongodb和elasticsearch状态集。我在我的应用程序中设置了用于部署组件的水平pod自动分频器,一切都很好。

问题

当交通增加时,问题就出现了。我的服务器部署扩展得很好,但是mongodb碎片和elasticsearch节点无法处理这么多的流量,并限制了整个响应时间。

简单的解决方案是用更多的碎片、更多的副本配置这些状态集。让我烦恼的是,交通高峰每天发生3-4个小时,因此让所有这些男孩在一天的剩余时间里无所事事是一种浪费。

我做了一些研究,看起来数据库一般不应该扩展/动态扩展,因为它只需要在它们之间进行复制就会消耗大量的网络和磁盘io。此外,在扩展、缩小过程中也可能出现数据丢失和不一致的情况。

问题

如果可能的话,在mongodb,elasticsearch.数据库呢?

如果没有,我能做些什么来节省我的云帐单,因为我们只需要最大的能量从数据库荚每天短期内。

EN

回答 1

Stack Overflow用户

发布于 2020-07-27 13:21:57

您应该阅读有关Kubernetes自动标度- HPA的文章。

水平Pod自动分频器根据观察到的CPU利用率自动缩放复制控制器、部署、复制集或有状态集中的荚数(或者在其他应用程序提供的度量标准上提供自定义度量支持)。请注意,水平Pod自动标度不适用于无法缩放的对象,例如DaemonSets。 水平Pod自动分频器是作为Kubernetes API资源和控制器实现的。资源决定控制器的行为。控制器定期调整复制控制器或部署中的副本数量,以使观察到的平均CPU利用率与用户指定的目标相匹配。

使用HPA时,您还必须注意卷安装和数据延迟。

正如@Serge在评论中提到的那样,我建议检查由MongoDB和Elasticsearch本身提供的本机缩放集群选项。

看一看

我不太熟悉Kubernetes的MongoDB和Elasticsearch,但也许这些教程可以帮助您:

如果您使用掌舵,请看一下班扎伊卡水平Pod自动分频器算子

您可能不希望也不能编辑Helm图表只是为了添加自动标度功能。几乎所有图表都支持自定义注释,因此我们认为,只需在部署中添加一些简单的注释,就可以设置自动标注。 我们已经开放了一个水平的Pod自动分配器操作员。这个操作符监视您的部署或StatefulSet,并自动创建一个HorizontalPodAutoscaler资源,如果您提供正确的自动尺度注释。

希望你觉得这个有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63070247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档