-
Notifications
You must be signed in to change notification settings - Fork 825
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
improved isolation of Agones controllers using taints and priority
Added high priority class called "agones-system", which defines the priority at which both controller and ping service run. This causes them to be scheduled before any game server pods are scheduled. Also added default affinity and tolerations to helm values: Agones Controller and Ping will prefer (but not require) nodes labeled with "stable.agones.dev/agones-system: true". They will also tolerate taint "stable.agones.dev/agones-system=true:NoExecute". With those two mechanisms in place, isolating Agones controller should be as simple as creating dedicated node pool with appropriate annotations/labels: ``` gcloud container node-pools create agones-system ... \ --node-taints stable.agones.dev/agones-system=true:NoExecute \ --node-labels stable.agones.dev/agones-system=true ``` Observe how pods are scheduled on 'agones-system' node pool. ``` $ kubectl get pod -n agones-system -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE agones-controller-cd857555b-zgpqw 1/1 Running 0 34s 10.8.5.6 gke-agones-scale-agones-system-b36e72f2-7ks0 <none> agones-ping-76999c8cc9-9nghq 1/1 Running 0 42s 10.8.4.3 gke-agones-scale-agones-system-823b885e-15nz <none> agones-ping-76999c8cc9-jhjq6 1/1 Running 0 39s 10.8.5.5 gke-agones-scale-agones-system-b36e72f2-7ks0 <none> ```
- Loading branch information
1 parent
c3bbe54
commit dfb2800
Showing
7 changed files
with
110 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
apiVersion: scheduling.k8s.io/v1beta1 | ||
kind: PriorityClass | ||
metadata: | ||
name: {{ .Values.agones.priorityClassName }} | ||
value: 1000000 | ||
globalDefault: false | ||
description: "This priority class should be used for Agones service pods only." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters