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

Immutable replicas field would allow PodDisruptionBudget on selected GameServer Pods #2806

Closed
zmerlynn opened this issue Nov 11, 2022 · 0 comments · Fixed by #2807
Closed
Labels
kind/feature New features for Agones
Milestone

Comments

@zmerlynn
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

Today, you can't use maxUnavailable: 0% in a PodDisruptionBudget that effects GameServer Pods because it falls in the "arbitrary controller" logic.

Describe the solution you'd like

If we add an immutableReplicas field, default/min/max = 1, and implement the scale subresource on the CRD, a PodDisruptionBudget can use maxUnavailable. This would allow us to ship a PodDisruptionBudget that looked like e.g.:

apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: gameserver-disruption
spec:
  maxUnavailable: 0%
  selector:
    matchLabels:
      agones.dev/role: gameserver

We probably would need to agree on a label selector (this example captures all GS but we want it tunable per Fleet). We want this to be the equivalent of safe-to-evict=false, basically, so we might just add an equivalent annotation. This could tie into #2794, so we could make policy like PDB flow from disruption tolerance.

Describe alternatives you've considered

Not implement it. PDB is yet another disruption control, and one more universally honored than safe-to-evict=false. I want it for #2777 because on Autopilot it provides a better guarantee.

Additional context

Discussed in #553, but with #2777 I'm probing for other ways to (officially) support safe-to-evict=false.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New features for Agones
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants