agones icon indicating copy to clipboard operation
agones copied to clipboard

When NodeIp only has InternalIp, is it possible to provide a third way to expose services, such as through LB (VIP: VPort)?

Open youngwang3 opened this issue 4 years ago • 1 comments

Is your feature request related to a problem? Please describe. When an Agones is deployed privately and NodeIp only has InternalIp, the existing port exposure method cannot be accessed outside the cluster

Describe the solution you'd like When an Agones is deployed privately and NodeIp only has InternalIp, is it possible to configure an LB according to yaml to access through LB (VIP: VIP: VPort) -> GameServerPod

Describe alternatives you've considered When an Agones is deployed privately and the NodeIp only has InternalIp, GameServerAllocation can only get the InternalIp: Port of a GameServer, but it is still inaccessible outside the cluster. Therefore, consider mapping this GameServerPod: LB VIP: VPort to DS Container Port, so that the Client can access through VIP: VPort.

Additional context clinet->LB->GameServerPod

youngwang3 avatar Aug 18 '21 08:08 youngwang3

If I'm understanding this correctly, I'm not sure it's possible. This sounds like something that should be managed outside of Agones.

Some thoughts/questions:

We can't be creating a load balancer for every game server, and the extra latency doesn't make sense there either.

Not sure what a "VIP" or "VPort" here is - can you explain that?

I'm not sure I'm reading any kind of solution here. If a node is private, it can't be exposed - so that's on you to determine how it should be exposed. I'm not sure what we should actually do here?

What is this mapping? How would it work? It sounds like it's something you need specific to your use case? It doesn't sound like something generic -- which makes me (at least initially) think that this doesn't belong in the Agones project -- but please expand more, I'd like to completely understand the use case before drawing a conclusion.

markmandel avatar Aug 19 '21 20:08 markmandel

This issue hasn't been updated in a while so I'm going to mark it as stale.

roberthbailey avatar Dec 21 '22 06:12 roberthbailey

I will also note that in the time since this question was asked, Quilkin has added support to be a udp proxy for Agones game servers, which may help solve this sort of problem.

roberthbailey avatar Dec 21 '22 06:12 roberthbailey

This issue is marked as obsolete due to inactivity for last 60 days. To avoid issue getting closed in next 30 days, please add a comment or add 'awaiting-maintainer' label. Thank you for your contributions

github-actions[bot] avatar Apr 15 '23 02:04 github-actions[bot]

We have #2001 for writing some more docs on websockets, so to close this out, why don't we add a link to Quilkin and it's examples/docs to https://agones.dev/site/docs/third-party-content/examples/ and we can close his issue.

markmandel avatar Apr 27 '23 16:04 markmandel

Please review this PR and let me know if there's anything I can improve - https://github.com/googleforgames/agones/pull/3129

Kalaiselvi84 avatar Apr 28 '23 19:04 Kalaiselvi84