Kubernetes / Agones 服务缩减规模
Kubernetes / Agones service downscaling
我有一个包含 x 个游戏服务器的部署 (pods) 运行。我正在使用 Agones 来确保连接了玩家的游戏服务器不会因缩小规模而停止。此外,我使用一个服务(“连接”到所有游戏服务器)充当 pods 的 LoadBalancer,据我所知,当玩家连接到该服务时,它会随机选择一个游戏服务器。这一切在放大时效果很好,但在缩小时效果不佳。由于 Agones 阻止有玩家的游戏服务器按比例缩小,pods 的数量基本上不会减少,因为该服务没有考虑所需副本的数量(实际数量更高,因为有玩家的游戏服务器不会) t 被缩小)。
有没有办法阻止 LoadBalancer 服务选择不再需要的游戏服务器(副本)?例如:当前的网络负载只需要 3 个副本,但目前有 5 个,因为有 5 个服务器上有播放器防止它们关闭。我只想在 3 个所需的副本(游戏服务器)上分配新负载,让其他 2 个有机会接触到 0 个玩家,这样它最终能够自行关闭。
我建议使用 Agones GameServerAllocation API 来让 Agones 为您找到可用的游戏服务器,而不是使用 LoadBalancer 将玩家分散到您的游戏实例中。
如果您允许多个玩家连接到同一游戏服务器,请查看 integration pattern for allocating based on player capacity。 Agones 会将玩家打包到具有可用容量的游戏服务器上(而不是分散他们),这将防止您将极少数玩家分布在所有游戏服务器上,当您使用负载均衡器将玩家分配给游戏时会发生这种情况服务器。
我有一个包含 x 个游戏服务器的部署 (pods) 运行。我正在使用 Agones 来确保连接了玩家的游戏服务器不会因缩小规模而停止。此外,我使用一个服务(“连接”到所有游戏服务器)充当 pods 的 LoadBalancer,据我所知,当玩家连接到该服务时,它会随机选择一个游戏服务器。这一切在放大时效果很好,但在缩小时效果不佳。由于 Agones 阻止有玩家的游戏服务器按比例缩小,pods 的数量基本上不会减少,因为该服务没有考虑所需副本的数量(实际数量更高,因为有玩家的游戏服务器不会) t 被缩小)。
有没有办法阻止 LoadBalancer 服务选择不再需要的游戏服务器(副本)?例如:当前的网络负载只需要 3 个副本,但目前有 5 个,因为有 5 个服务器上有播放器防止它们关闭。我只想在 3 个所需的副本(游戏服务器)上分配新负载,让其他 2 个有机会接触到 0 个玩家,这样它最终能够自行关闭。
我建议使用 Agones GameServerAllocation API 来让 Agones 为您找到可用的游戏服务器,而不是使用 LoadBalancer 将玩家分散到您的游戏实例中。
如果您允许多个玩家连接到同一游戏服务器,请查看 integration pattern for allocating based on player capacity。 Agones 会将玩家打包到具有可用容量的游戏服务器上(而不是分散他们),这将防止您将极少数玩家分布在所有游戏服务器上,当您使用负载均衡器将玩家分配给游戏时会发生这种情况服务器。