Skip to content

Commit

Permalink
Spec docs for FleetAutoscaler
Browse files Browse the repository at this point in the history
Moved this out of #370 so people can review it during the RC cycle.
  • Loading branch information
markmandel committed Oct 10, 2018
1 parent 0b9f91a commit d6858e2
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ Documentation and usage guides on how to develop and host dedicated game servers
### Reference
- [Game Server Specification](./docs/gameserver_spec.md)
- [Fleet Specification](./docs/fleet_spec.md)
- [Fleet Autoscaler Specification](./docs/fleetautoscaler_spec.md)

### Examples
- [Full GameServer Configuration](./examples/gameserver.yaml)
Expand Down
44 changes: 44 additions & 0 deletions docs/fleetautoscaler_spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Fleet Autoscaler Specification

⚠️⚠️⚠️ **This is currently a release candidate feature** ⚠️⚠️⚠️

A `FleetAutoscaler`'s job is to automatically scale up and down a `Fleet` in response to demand.

A full `FleetAutoscaler` specification is available below and in the
[example folder](../examples/fleetautoscaler.yaml) for reference :

```yaml
apiVersion: "stable.agones.dev/v1alpha1"
kind: FleetAutoscaler
metadata:
name: fleet-autoscaler-example
spec:

fleetName: fleet-example
policy:
type: Buffer
buffer:
bufferSize: 5
minReplicas: 10
maxReplicas: 20
```
Since Agones defines a new
[Custom Resources Definition (CRD)](https://kubernetes.io/docs/concepts/api-extension/custom-resources/)
we can define a new resource using the kind `FleetAutoscaler` with the custom group `stable.agones.dev` and API
version `v1alpha1`.

The `spec` field is the actual `FleetAutoscaler` specification and it is composed as follows:

- `fleetName` is name of the fleet to attach to and control. Must be an existing `Fleet` in the same namespace
as this `FleetAutoscaler`.
- `policy` is the autoscaling policy
- `type` is type of the policy. For now, only "Buffer" is available
- `buffer` parameters of the buffer policy
- `bufferSize` is the size of a buffer of "ready" game server instances
The FleetAutoscaler will scale the fleet up and down trying to maintain this buffer,
as instances are being allocated or terminated
it can be specified either in absolute (i.e. 5) or percentage format (i.e. 5%)
- `minReplicas` is the minimum fleet size to be set by this FleetAutoscaler.
if not specified, the minimum fleet size will be bufferSize
- `maxReplicas` is the maximum fleet size that can be set by this FleetAutoscaler. Required.

0 comments on commit d6858e2

Please sign in to comment.