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

Support topologySpreadConstraints #3591

Merged
merged 25 commits into from
Jan 27, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
025dae6
Support topologySpreadConstraints
Kalaiselvi84 Jan 11, 2024
c9c1682
changes in allocator
Kalaiselvi84 Jan 11, 2024
4ce3ee3
align indentation
Kalaiselvi84 Jan 12, 2024
f137a82
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 12, 2024
560e7dd
topologySpreadConstraints before affinity
Kalaiselvi84 Jan 16, 2024
22d5acc
make gen-install
Kalaiselvi84 Jan 24, 2024
b3017db
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 24, 2024
8f12e4d
remove template/spec in extensions.yaml
Kalaiselvi84 Jan 24, 2024
f182847
Merge branch 'pr-3533' of https://github.com/Kalaiselvi84/agones into…
Kalaiselvi84 Jan 24, 2024
059e082
make gen-install
Kalaiselvi84 Jan 24, 2024
b65eeac
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 24, 2024
4a52d65
Relocate topologySpreadConstraints config to extensions-deployment.yaml
Kalaiselvi84 Jan 25, 2024
152e334
ping update
Kalaiselvi84 Jan 25, 2024
adb59ac
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 25, 2024
a150af4
Review changes
Kalaiselvi84 Jan 25, 2024
c40b457
config as an array
Kalaiselvi84 Jan 25, 2024
c977279
gen-install
Kalaiselvi84 Jan 25, 2024
5edffe7
no default values
Kalaiselvi84 Jan 26, 2024
60abae0
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 26, 2024
45f7923
included new parameter to helm config tables
Kalaiselvi84 Jan 26, 2024
b11c190
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 26, 2024
ee88b8f
Merge branch 'main' into pr-3533
gongmax Jan 26, 2024
33e8888
Merge branch 'main' into pr-3533
Kalaiselvi84 Jan 26, 2024
28cf37e
Review changes
Kalaiselvi84 Jan 27, 2024
ce7c62d
Merge branch 'main' into pr-3533
gongmax Jan 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions install/helm/agones/templates/controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ spec:
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
{{- if .Values.agones.controller.topologySpreadConstraints }}
Kalaiselvi84 marked this conversation as resolved.
Show resolved Hide resolved
topologySpreadConstraints:
{{- toYaml .Values.agones.controller.topologySpreadConstraints.constraints | nindent 8 }}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be simplified as {{- toYaml .Values.agones.controller.topologySpreadConstraints| nindent 8 }}, same for other components.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Included it to make the values as an array, otherwise CI will complain:

"e2e-feature-gates": Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.topologySpreadConstraints): invalid type for io.k8s.api.core.v1.PodSpec.topologySpreadConstraints: got "map", expected "array"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disabling auto merge in case you want to discuss further @gongmax

{{- end }}
affinity:
{{- if .Values.agones.controller.affinity }}
{{- if .Values.agones.requireDedicatedNodes }}
Expand Down
4 changes: 4 additions & 0 deletions install/helm/agones/templates/extensions-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ spec:
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
{{- if .Values.agones.extensions.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml .Values.agones.extensions.topologySpreadConstraints.constraints | nindent 8 }}
{{- end }}
affinity:
{{- if .Values.agones.extensions.affinity }}
{{- if .Values.agones.requireDedicatedNodes }}
Expand Down
4 changes: 4 additions & 0 deletions install/helm/agones/templates/ping.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ spec:
{{- toYaml .Values.agones.ping.annotations | nindent 8 }}
{{- end }}
spec:
{{- if .Values.agones.ping.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml .Values.agones.ping.topologySpreadConstraints.constraints | nindent 8 }}
{{- end }}
affinity:
{{- if .Values.agones.ping.affinity }}
{{- if .Values.agones.requireDedicatedNodes }}
Expand Down
4 changes: 4 additions & 0 deletions install/helm/agones/templates/service/allocation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,10 @@ spec:
{{- toYaml .Values.agones.allocator.annotations | nindent 8 }}
{{- end }}
spec:
{{- if .Values.agones.allocator.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml .Values.agones.allocator.topologySpreadConstraints.constraints | nindent 8 }}
{{- end }}
affinity:
{{- if .Values.agones.allocator.affinity }}
{{- if .Values.agones.requireDedicatedNodes }}
Expand Down
36 changes: 36 additions & 0 deletions install/helm/agones/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ agones:
replicas: 2
pdb:
minAvailable: 1
topologySpreadConstraints:
enabled: true
constraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app: agones-controller
Kalaiselvi84 marked this conversation as resolved.
Show resolved Hide resolved
extensions:
resources: {}
# requests:
Expand Down Expand Up @@ -139,6 +148,15 @@ agones:
initialDelaySeconds: 3
periodSeconds: 3
failureThreshold: 3
topologySpreadConstraints:
enabled: true
constraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app: agones-extensions
ping:
install: true
pdb:
Expand Down Expand Up @@ -180,6 +198,15 @@ agones:
periodSeconds: 3
failureThreshold: 3
timeoutSeconds: 1
topologySpreadConstraints:
enabled: true
constraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app: agones-ping
allocator:
install: true
pdb:
Expand Down Expand Up @@ -248,6 +275,15 @@ agones:
remoteAllocationTimeout: 10s
totalRemoteAllocationTimeout: 30s
allocationBatchWaitTime: 500ms
topologySpreadConstraints:
enabled: true
constraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app: agones-allocator
image:
registry: us-docker.pkg.dev/agones-images/release
tag: 1.38.0-dev
Expand Down
28 changes: 28 additions & 0 deletions install/yaml/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17005,6 +17005,13 @@ spec:
release: agones-manual
heritage: Helm
spec:
topologySpreadConstraints:
- labelSelector:
matchLabels:
app: agones-controller
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
Expand Down Expand Up @@ -17164,6 +17171,13 @@ spec:
release: agones-manual
heritage: Helm
spec:
topologySpreadConstraints:
- labelSelector:
matchLabels:
app: agones-extensions
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
Expand Down Expand Up @@ -17303,6 +17317,13 @@ spec:
release: agones-manual
heritage: Helm
spec:
topologySpreadConstraints:
- labelSelector:
matchLabels:
app: agones-ping
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
Expand Down Expand Up @@ -17369,6 +17390,13 @@ spec:
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
spec:
topologySpreadConstraints:
- labelSelector:
matchLabels:
app: agones-allocator
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
Expand Down
Loading