77Table of Contents
88=================
99
10- * [ Fleet Autoscaling] ( #fleet-autoscaling )
11- * [ Autoscalng Concepts] ( #autoscalng-concepts )
12- * [ Allocation Scheduling] ( #allocation-scheduling )
13- * [ Fleet Scheduling] ( #fleet-scheduling )
14- * [ Packed] ( #packed )
15- * [ Allocation Scheduling Strategy] ( #allocation-scheduling-strategy )
16- * [ Distributed] ( #distributed )
17- * [ Allocation Scheduling Stategy] ( #allocation-scheduling-stategy )
10+ * [ Scheduling and Autoscaling] ( #scheduling-and-autoscaling )
11+ * [ Table of Contents] ( #table-of-contents )
12+ * [ Fleet Autoscaling] ( #fleet-autoscaling )
13+ * [ Autoscaling Concepts] ( #autoscaling-concepts )
14+ * [ Allocation Scheduling] ( #allocation-scheduling )
15+ * [ Pod Scheduling] ( #pod-scheduling )
16+ * [ Fleet Scale Down Strategy] ( #fleet-scale-down-strategy )
17+ * [ Fleet Scheduling] ( #fleet-scheduling )
18+ * [ Packed] ( #packed )
19+ * [ Allocation Scheduling Strategy] ( #allocation-scheduling-strategy )
20+ * [ Pod Scheduling Strategy] ( #pod-scheduling-strategy )
21+ * [ Fleet Scale Down Strategy] ( #fleet-scale-down-strategy-1 )
22+ * [ Distributed] ( #distributed )
23+ * [ Allocation Scheduling Strategy] ( #allocation-scheduling-strategy-1 )
24+ * [ Pod Scheduling Strategy] ( #pod-scheduling-strategy-1 )
25+ * [ Fleet Scale Down Strategy] ( #fleet-scale-down-strategy-2 )
26+
1827
1928Scheduling and autoscaling go hand in hand, as where in the cluster ` GameServers ` are provisioned
2029impacts how to autoscale fleets up and down (or if you would even want to)
@@ -42,6 +51,11 @@ Each `GameServer` is backed by a Kubernetes [`Pod`](https://kubernetes.io/docs/c
4251refers to the strategy that is in place that determines which node in the Kubernetes cluster the Pod is assigned to,
4352when it is created.
4453
54+ ### Fleet Scale Down Strategy
55+
56+ Fleet Scale Down strategy refers to the order in which the ` GameServers ` that belong to a ` Fleet ` are deleted,
57+ when Fleets are shrunk in size.
58+
4559## Fleet Scheduling
4660
4761There are two scheduling strategies for Fleets - each designed for different types of Kubernetes Environments.
@@ -74,8 +88,7 @@ for the infrastructure you use.
7488It attempts to _pack_ as much as possible into the smallest set of nodes, to make
7589scaling infrastructure down as easy as possible.
7690
77- Currently, Allocation scheduling is the only aspect this strategy affects, but in future releases it will
78- also affect ` GameServer` `Pod` scheduling, and `Fleet` scale down scheduling as well.
91+ This affects Allocation Scheduling, Pod Scheduling and Fleet Scale Down Scheduling.
7992
8093#### Allocation Scheduling Strategy
8194
@@ -91,6 +104,11 @@ topology. This attempts to group together `GameServer` Pods within as few nodes
91104> The default Kubernetes scheduler doesn't do a perfect job of packing, but it's a good enough job for what we need -
92105 at least at this stage.
93106
107+ # ### Fleet Scale Down Strategy
108+
109+ With the "Packed" strategy, Fleets will remove `Ready` `GameServers` from Nodes with the _least_ number of `Ready` and
110+ ` Allocated` ` GameServers` on them. Attempting to empty Nodes so that they can be safely removed.
111+
94112# ## Distributed
95113
96114` ` ` yaml
@@ -118,8 +136,7 @@ on bare metal, and the cluster size rarely changes, if at all.
118136This attempts to distribute the load across the entire cluster as much as possible, to take advantage of the static
119137size of the cluster.
120138
121- Currently, the only thing the scheduling strategy affects is Allocation scheduling, but in future releases it will
122- also affect `GameServer` `Pod` scheduling, and `Fleet` scaledown scheduling as well.
139+ This affects Allocation Scheduling, Pod Scheduling and Fleet Scale Down Scheduling.
123140
124141# ### Allocation Scheduling Strategy
125142
@@ -129,4 +146,9 @@ number of allocated `GameServers` on them.
129146# ### Pod Scheduling Strategy
130147
131148Under the "Distributed" strategy, `Pod` scheduling is provided by the default Kubernetes scheduler, which will attempt
132- to distribute the `GameServer` `Pods` across as many nodes as possible.
149+ to distribute the `GameServer` `Pods` across as many nodes as possible.
150+
151+ # ### Fleet Scale Down Strategy
152+
153+ With the "Distributed" strategy, Fleets will remove `Ready` `GameServers` from Nodes with at random, to ensure
154+ a distributed load is maintained.
0 commit comments