我有一個運行 x 數量的游戲服務器(pod)的部署。我正在使用 Agones 來確保與玩家相連的游戲服務器不會因縮小規模而停止。此外,我使用了一個服務(“連接”到所有的游戲服務器)作為 pod 的負載均衡器,據我所知,當玩家連接到服務時,它會隨機選擇一個游戲服務器。這一切在放大時都很好用,但在縮小時則不然。由于 Agones 會阻止有玩家的游戲服務器縮小規模,因此 pod 的數量基本上永遠不會減少,因為該服務不會考慮所需副本的數量(實際數量更高,因為有玩家的游戲服務器不會被縮小) .
有沒有辦法阻止 LoadBalancer 服務選擇不再需要的游戲服務器(副本)?例如:當前的網路負載只需要 3 個副本,但目前有 5 個副本,因為有 5 個服務器上有玩家阻止他們關閉。我只想在 3 個所需的副本(游戲服務器)上傳播新負載,讓其他 2 個有機會接觸到 0 個玩家,因此它最終能夠自行關閉。
uj5u.com熱心網友回復:
我建議使用 Agones GameServerAllocation API 讓 Agones 為您找到可用的游戲服務器,而不是使用 LoadBalancer 將玩家分布在您的游戲實體中。
如果您允許多個玩家連接到同一個游戲服務器,請查看基于玩家容量分配的集成模式。Agones 會將玩家打包到具有可用容量的游戲服務器上(而不是分散他們),這將防止您將極少數玩家分布在所有游戲服務器上,這就是當您使用負載均衡器將玩家分配給游戲時發生的情況服務器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331137.html
標籤:Kubernetes 缩放 痛苦
