为了使用Kubernetes练习缩放,我创建了以下场景:
游戏:
Kubernetes:
我的想法是使用Java服务器实例中的Kubernetes-Client,并从每个服务器实例更新Kubernetes集群。在这种形式中,我将采用分散的方式来管理集群。
您对此有何看法?有没有更好的方法来解决这个问题?我可以更新pod上的元数据并使用某种形式的自动缩放吗?
答案 0 :(得分:0)
您可能希望使用kubernetes的群集自动缩放器功能。请参阅docs。
您使用固定用户号作为自定义指标的方法可能会有效,但您最好使用通用指标,例如节点上的CPU消耗。为此,您可以定义允许容器使用的最大消耗量。自动定标器需要此信息才能知道它是否可以在节点上安排其他pod。
请注意,要考虑两个可伸缩性层。 pod和节点。自动缩放器将采用您定义的指标,并在需要时安排其他窗格。您的节点将具有有限的容量容量,因此,现在,根据您使用的底层基础结构,您还需要扩展工作节点的数量。例如,如果您在AWS上运行,则需要一个Autoscale组。设置此功能的最佳方法是让AWS Autoscale组根据排队的计划容器进行扩展。因此,只要队列中有无法安排的pod,您的Autoscale组就会添加另一个节点。这是一个解释它的great article。