Skip to content
This repository has been archived by the owner on Sep 28, 2021. It is now read-only.

How to do DedicatedGameServerCollection Docker image updates? #16

Open
dgkanatsios opened this issue Aug 3, 2018 · 2 comments
Open
Assignees
Labels
brainstorm Think about it, is it the best approach?

Comments

@dgkanatsios
Copy link
Owner

We should implement a mechanism to update Container images. First step would be to detect it in the DGSCollection controller, than mark images for deletion, so that new DGS that are created pull the updated image.

@dgkanatsios dgkanatsios self-assigned this Aug 8, 2018
@dgkanatsios dgkanatsios added the brainstorm Think about it, is it the best approach? label Aug 8, 2018
@dgkanatsios
Copy link
Owner Author

Wondering how this should be handled. Let's assume that we have a pool of 10 DedicatedGameServers on a collection. We discover a severe bug. Does it make sense to 'upgrade' somehow these servers in this collection (e.g. by RollingUpdates => MarkForDeletion -> WaitForZeroActivePlayers -> Delete it -> Create another one -> so on and so forth) or does it make sense to create another collection with the updated image and "shrink" the previous one to 0 replicas (so that servers will be deleted when players leave the server)?

@dgkanatsios dgkanatsios changed the title Handle DedicatedGameServerCollection Docker image updates How to do DedicatedGameServerCollection Docker image updates? Sep 13, 2018
@dgkanatsios
Copy link
Owner Author

Apart from the manual solution described above, a more orchestrated solution would be to create an entity that would own DedicatedGameServerCollection (DGSCol). Let's call this entity DedicatedGameServerDeployment (DGSDep). When the user creates a DGSDep, this would create a DGSCol. When the user updates a DGSDep image, this would result in

  • DGSCol shrinking to 0 available replicas
  • another DGSCol being created with the same number of requested replicas as the original DGSCol

Some things we need to think about

  1. What about the DGS autoscaling? Maybe we should attach it to DGSDep
  2. DGSDep should have a (fixed size) history of image updates, so we can rollback easily

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
brainstorm Think about it, is it the best approach?
Projects
None yet
Development

No branches or pull requests

2 participants