[英]Kubernetes Autoscaling using VPA - Off or Auto update mode?
为了项目的需要,我在 GKE 上创建了 2 个 Kube.netes 集群。
集群 1 :一个 Pod中有 10 个容器
集群2:10 个容器在 10 个不同的 Pod中
所有的容器都连接在一起,构成一个应用程序。
我想做的是生成一些负载并观察 vpa 如何自动缩放容器。
直到现在,使用“自动”模式我注意到 VPA 仅在开始时而不是在我生成负载时更改值一次,并且上限太高,因此不需要任何更改!
你会建议我:
1)使用自动还是推荐模式?
和
2)创建我的应用程序的 1 个或 2 个副本?
我还想说 10 个容器中有 2 个是mysql和mongoDB 。 所以如果我必须创建 2 个副本,我应该使用statefulsets 或 operators ,对吗?
非常感谢你!!
当你说这个的时候不确定你是认真的
集群 1:一个 Pod 中有 10 个容器
集群 2:10 个容器在不同的 Pod 中
一开始您没有遵循最佳实践,理想情况下,您应该将单个容器保存在单个 POD 中
在一个 pod 中运行 10 个容器太多了,如果存在相互依赖关系,您的代码应该使用 K8s 服务名称来相互连接。
创建我的应用程序的 1 个或 2 个副本?
是的,运行应用程序的多个副本总是更好,因此如果由于任何原因即使节点出现故障,您在另一个节点上的 POD 也会运行。
我还想说 10 个容器中有 2 个是 mysql 和 mongoDB。所以如果我必须创建 2 个副本,我应该使用 statefulsets 或运算符,对吗?
您可以在其中同时使用运算符和有状态集,运算符可能会理想地创建有状态集。
跨副本实施 MySQL 的复制将很难手动进行,除非您有良好的 DBA 经验并且您知道。
使用操作员时,您将获得自动备份、复制自动管理和其他类似功能的好处。
操作员间接创建有状态集或部署,但您不必管理太多,也不必担心复制和故障转移计划以及数据库策略。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.