我正在Google容器引擎(GKE)1.8.3-gke.0
上设置kubefed的联合kubernetes群集。
似乎好的HPA和cluster autoscaler由于kubernetes Admission Controller,我必须将开放政策代理用作this:
默认情况下,副本在所有基础中均匀分布 集群。例如:如果您有3个已注册的群集 使用
spec.replicas = 9
创建联合部署,然后创建每个部署 3个群集中的部署将具有spec.replicas=3
。
但在我的情况下,负载将在每个区域动态更改,每个群集都应具有动态pod数。
我找不到(或者只是看不到)关于像我这样的案件的例子或手册。所以,问题是:
如果我的联合上下文中有三个群集,一个针对GKE的每个区域,那么策略应该采用什么方案?
应该是动态在这三个群集中传播广告的单一部署。
一个广告:
如果可能,我如何配置OPA以使该架构有效?
提前感谢任何指向相应手册的链接。
答案 0 :(得分:0)
你想要做的事情应该通过“联合水平Pod自动扫描器”来实现,他们的主要用例之一就是你的场景:
从Federated Pod Autoscaler的Requirements & Design Document引用:
用户可以使用replicaset(或部署)在联合群集中安排相同应用程序的副本。然而,用户可能还需要在每个群集中独立地缩放副本,具体取决于副本的当前使用度量;包括CPU,内存和应用程序定义的自定义指标。
从actual documentation结论中的这一段描述了行为:
联合HPA的使用是为了确保工作负载副本移动到最需要它们的集群,或者换句话说,负载超出预期阈值。联合HPA功能通过操作它在联合群集中创建的HPA上的最小和最大副本来实现此目的。它实际上依赖于集群内HPA控制器来监控指标并更新相关字段[...]另一方面,联合HPA控制器仅监控特定于集群的HPA对象字段并更新最小副本和最大副本群集HPA对象中的字段,其副本与阈值匹配。
因此,如果我没有误解您的需求,则没有理由使用第三个产品,如Open Policy Agent或创建政策。