Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document best practices for GameServer Allocation #1594

Closed
pooneh-m opened this issue May 28, 2020 · 5 comments
Closed

Document best practices for GameServer Allocation #1594

pooneh-m opened this issue May 28, 2020 · 5 comments
Labels
kind/documentation Documentation for Agones kind/feature New features for Agones wontfix Sorry, but we're not going to do that.

Comments

@pooneh-m
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
Right now there are three ways of allocating game servers; (1) K8sExtension API server using GameServerAllocate CRD; (2) agones-allocator service; (3) allocation SDK

Describe the solution you'd like
A best practices document is useful on what allocation solution to choose from.

@pooneh-m pooneh-m added the kind/feature New features for Agones label May 28, 2020
@TBBle
Copy link
Contributor

TBBle commented Jun 23, 2020

What's the allocation SDK? Is there now an SDK to go with the agones-allocator service, or are you referring to self-allocation via the (gameserver-facing) SDK? There already is a (well-buried) comparison of self-allocation with the GameServerAllocation flow at https://agones.dev/site/docs/guides/gameserver-lifecycle/.

Coincidental to #1590, I've been weighing up the pros and cons of moving from the k8s API to the agones-allocator service in our project for months, since we currently use the former, but everything else in our system is using REST APIs to other services so this is the only thing in our system that requires Kubernetes RBAC setup to function correctly, for talking to Agones. One team had some issues with the k8s API access permissions when deploying our project under Istio. So that's one comparison point.

Another comparison point is that if using the agones-allocator service, you still need to use k8s if you want to read things back from the resulting GameServer object, e.g. annotations set via the SDK. That's the reason we'll likely stay with using the k8s API.

@markmandel
Copy link
Member

markmandel commented Jun 23, 2020

What's the allocation SDK?

That's the SDK.Allocate() - you got it 👍

@markmandel
Copy link
Member

Actually,to your point, https://agones.dev/site/docs/guides/gameserver-lifecycle/ could (and probably should) be updated to include the Allocation endpoint as well into the top diagram. Nothing specific changes other than you could use the Allocation endpoint rather than a GameSererAllocation - so you end up in the same place, but it should be listed as an option.

@markmandel markmandel added the kind/documentation Documentation for Agones label Jun 23, 2020
@markmandel
Copy link
Member

We have: https://agones.dev/site/docs/advanced/allocator-service/#gameserverallocation-vs-allocator-service

Is that enough for right now, or do you think we need more?

@pooneh-m
Copy link
Collaborator Author

That addition to the document addresses my feature request in this issue. So we can close this.

However, ideally we should have a section on https://agones.dev/site/docs/guides/gameserver-lifecycle/ that mentions agones-allocator to have a complete picture. I close the issue for now and if you also think we should be adding agones-allocator to this, then open a new issue.

@roberthbailey roberthbailey added the wontfix Sorry, but we're not going to do that. label Nov 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/documentation Documentation for Agones kind/feature New features for Agones wontfix Sorry, but we're not going to do that.
Projects
None yet
Development

No branches or pull requests

4 participants