From 607d22f3af381972f4cd3f0520dd70874426f35e Mon Sep 17 00:00:00 2001
From: Mark Mandel Packages:
Package v1 is the v1 version of the API.
-agones.dev/v1
+allocation.agones.dev/v1
-
Fleet is the data structure for a Fleet resource
+GameServerAllocation is the data structure for allocating against a set of
+GameServers, defined selectors
selectors
-agones.dev/v1
+allocation.agones.dev/v1
|
@@ -59,7 +56,7 @@ Fleet |
+GameServerAllocation |
||||||||||||||||
@@ -79,8 +76,8 @@ Fleet
spec
-
-FleetSpec
+
+GameServerAllocationSpec
Fleet
status
-
-FleetStatus
+
+GameServerAllocationStatus
|
-
GameServer is the data structure for a GameServer resource.
-It is worth noting that while there is a GameServerStatus
Status entry for the GameServer
, it is not
-defined as a subresource - unlike Fleet
and other Agones resources.
-This is so that we can retain the ability to change multiple aspects of a GameServer
in a single atomic operation,
-which is particularly useful for operations such as allocation.
+
CounterAction is an optional action that can be performed on a Counter at allocation.
-apiVersion
-string |
-
-
-agones.dev/v1
-
- |
-||||||||||||||||||||||
-kind
-string
- |
-GameServer |
-||||||||||||||||||||||
-metadata
+action
-
-Kubernetes meta/v1.ObjectMeta
-
+string
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+(Optional)
+Action must to either “Increment” or “Decrement” the Counter’s Count. Must also define the Amount. |
||||||||||||||||||||||
-spec
-
-
-GameServerSpec
-
-
- |
-
- - -
CounterSelector +++(Appears on: +GameServerSelector) + ++ CounterSelector is the filter options for a GameServer based on the count and/or available capacity. + +
|
-||||||||||||||||||||||
-status
-
-
-GameServerStatus
-
+int64
|
+(Optional)
+ MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which translates to max(int64). |
-
GameServerSet is the data structure for a set of GameServers. -This matches philosophically with the relationship between -Deployments and ReplicaSets
+(Appears on: +GameServerAllocation) + ++
GameServerAllocationSpec is the spec for a GameServerAllocation
-apiVersion
-string |
-
-
-agones.dev/v1
-
+multiClusterSetting
+
+
+MultiClusterSetting
+
+
|
-||||||||
-kind
-string
+MultiClusterPolicySelector if specified, multi-cluster policies are applied. +Otherwise, allocation will happen locally. |
-GameServerSet |
||||||||
-metadata
+required
-
-Kubernetes meta/v1.ObjectMeta
+
+GameServerSelector
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Required is the GameServer selector from which to choose GameServers from. +Defaults to all GameServers. |
||||||||
-spec
+preferred
-
-GameServerSetSpec
+
+[]GameServerSelector
|
- - -
(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation. |
||||||||
-status
+lists
-
-GameServerSetStatus
+
+map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
|
+(Optional)
+ (Alpha, CountsAndLists feature flag) List actions to perform during allocation. |
string
alias)+(Appears on: +GameServerAllocationStatus) +
++
GameServerAllocationState is the Allocation state
+ +(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocation)
-
AggregatedCounterStatus stores total and allocated Counter tracking values
+GameServerAllocationStatus is the status for an GameServerAllocation resource
-allocatedCount
+state
-int64
+
+GameServerAllocationState
+
|
+ GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated |
-allocatedCapacity
+gameServerName
-int64
+string
|
@@ -579,9 +560,11 @@ AggregatedCounterStatus |
-count
+ports
-int64
+
+[]GameServerStatusPort
+
|
@@ -589,39 +572,21 @@ AggregatedCounterStatus |
-capacity
+address
-int64
+string
|
-(Appears on: -FleetStatus, -GameServerSetStatus) -
--
AggregatedListStatus stores total and allocated List tracking values
- -Field | -Description | -
---|---|
-allocatedCount
+addresses
-int64
+
+[]Kubernetes core/v1.NodeAddress
+
|
@@ -629,9 +594,9 @@ AggregatedListStatus |
-allocatedCapacity
+nodeName
-int64
+string
|
@@ -639,19 +604,23 @@ AggregatedListStatus |
-count
+source
-int64
+string
|
- | +
-capacity
+metadata
-int64
+
+GameServerMetadata
+
|
@@ -659,15 +628,14 @@ AggregatedListStatus |
(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocationStatus)
-
AggregatedPlayerStatus stores total player tracking values
+GameServerMetadata is the metadata from the allocated game server at allocation time
-count
+labels
-int64
+map[string]string
|
@@ -689,9 +657,9 @@ AggregatedPlayerStatus |
-capacity
+annotations
-int64
+map[string]string
|
@@ -699,17 +667,15 @@ AggregatedPlayerStatus |
(Appears on: -FleetSpec, -GameServerSetSpec) +GameServerAllocationSpec)
-
AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers
-if the desired number of the underlying GameServerSet
drops below the number of Allocated GameServers
-attached to it.
GameServerSelector contains all the filter options for selecting +a GameServer for allocation.
-labels
+LabelSelector
-map[string]string
+
+Kubernetes meta/v1.LabelSelector
+
|
-(Optional)
- Labels to be applied to the
+(Members of See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
-annotations
+gameServerState
-map[string]string
+
+GameServerState
+
|
-(Optional)
- Annotations to be applied to the GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer +via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with +label/annotation/player selectors to retrieve an already Allocated GameServer. |
-(Appears on: -GameServerSpec, -GameServerStatus) -
--
CounterStatus stores the current counter values
- -Field | -Description | +
+players
+
+
+PlayerSelector
+
+
+ |
+
+(Optional)
+ [Stage:Alpha] +[FeatureFlag:PlayerAllocationFilter] +Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer +through Allocation. Defaults to no limits. + |
---|---|---|---|
-count
+counters
-int64
+
+map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector
+
|
+(Optional)
+ (Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values +for a Counter’s count and available capacity when retrieving a GameServer through Allocation. +Defaults to no limits. |
||
-capacity
+lists
-int64
+
+map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector
+
|
+(Optional)
+ (Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values +for List capacity, and for the existence of a value in a List, when retrieving a GameServer +through Allocation. Defaults to no limits. |
(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationSpec)
-
Eviction specifies the eviction tolerance of the GameServer
+ListAction is an optional action that can be performed on a List at allocation.
-safe
+addValues
-
-EvictionSafe
-
+[]string
|
- Game server supports termination via SIGTERM: -- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades -- OnUpgrade: Allow eviction for upgrades alone -- Never (default): Pod should run to completion +(Optional) +AddValues appends values to a List’s Values array. Any duplicate values will be ignored. + |
+
+capacity
+
+int64
+
+ |
+
+(Optional)
+ Capacity updates the maximum capacity of the Counter to this number. Min 0, Max 1000. |
string
alias)-(Appears on: -Eviction) -
--
EvictionSafe specified whether the game server supports termination via SIGTERM
- -(Appears on: -Fleet) +GameServerSelector)
-
FleetSpec is the spec for a Fleet
+ListSelector is the filter options for a GameServer based on List available capacity and/or the +existence of a value in a List.
-replicas
+containsValue
-int32
+string
|
- Replicas are the number of GameServers that should be in this set. Defaults to 0. +(Optional) +ContainsValue says to only match GameServers who has this value in the list. Defaults to “”, which is all. |
-allocationOverflow
+minAvailable
-
-AllocationOverflow
-
+int64
|
(Optional)
- [Stage: Alpha]
-[FeatureFlag:FleetAllocationOverflow]
-Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more
-than the desired replicas on the underlying MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0. |
-strategy
+maxAvailable
-
-Kubernetes apps/v1.DeploymentStrategy
-
+int64
|
- Deployment strategy +(Optional) +MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which is translated as max(int64). |
+(Appears on: +GameServerAllocationSpec) +
++
MetaPatch is the metadata used to patch the GameServer metadata on allocation
+ +
-scheduling
-
-agones.dev/agones/pkg/apis.SchedulingStrategy
-
- |
-
- Scheduling strategy. Defaults to “Packed”. - |
+Field | +Description |
---|---|---|---|
-priorities
+labels
-
-[]Priority
-
+map[string]string
|
-(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic. |
||
-template
+annotations
-
-GameServerTemplateSpec
-
+map[string]string
|
- Template the GameServer template to apply for this Fleet |
(Appears on: -Fleet, -FleetAutoscaleRequest) +GameServerAllocationSpec)
-
FleetStatus is the status of a Fleet
+MultiClusterSetting specifies settings for multi-cluster allocation.
-replicas
+enabled
-int32
+bool
|
- Replicas the total number of current GameServer replicas |
-readyReplicas
+policySelector
-int32
+
+Kubernetes meta/v1.LabelSelector
+
|
- ReadyReplicas are the number of Ready GameServer replicas - |
-
-reservedReplicas
-
-int32
-
- |
-
- ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. -Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up. - |
-
-allocatedReplicas
-
-int32
-
- |
-
- AllocatedReplicas are the number of Allocated GameServer replicas |
+(Appears on: +GameServerSelector) +
++
PlayerSelector is the filter options for a GameServer based on player counts
+ +
-players
-
-
-AggregatedPlayerStatus
-
-
- |
-
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players are the current total player capacity and count for this Fleet - |
+Field | +Description |
---|---|---|---|
-counters
+minAvailable
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
-
+int64
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this Fleet. |
||
-lists
+maxAvailable
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
-
+int64
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values -for this Fleet. |
-(Appears on: -GameServerSpec) +
Package v1 is the v1 version of the API.
+Resource Types: + +-
GameServerPort defines a set of Ports that -are to be exposed via the GameServer
+FleetAutoscaler is the data structure for a FleetAutoscaler resource
-name
-
-string
-
+apiVersion
+string |
+
+
+autoscaling.agones.dev/v1
+
|
+||||||
- Name is the descriptive name of the port +kind
+string
|
+FleetAutoscaler |
||||||
-portPolicy
+metadata
-
-PortPolicy
+
+Kubernetes meta/v1.ObjectMeta
|
- PortPolicy defines the policy for how the HostPort is populated.
-Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller
-at installation time.
-When metadata field.
|
||||||
-container
+spec
+
+
+FleetAutoscalerSpec
+
+
+ |
+
+ + +
|
||||||
-protocol
+status
-
-Kubernetes core/v1.Protocol
+
+FleetAutoscalerStatus
|
- Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options. |
(Appears on: -GameServerSet) +FleetAutoscalerPolicy)
-
GameServerSetSpec the specification for GameServerSet
+BufferPolicy controls the desired behavior of the buffer policy.
-replicas
+maxReplicas
int32
|
- Replicas are the number of GameServers that should be in this set - |
-
-allocationOverflow
-
-
-AllocationOverflow
-
-
- |
-
-(Optional)
- [Stage: Alpha]
-[FeatureFlag:FleetAllocationOverflow]
-Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
-the desired replicas on the underlying |
-
-scheduling
-
-agones.dev/agones/pkg/apis.SchedulingStrategy
-
- |
-
- Scheduling strategy. Defaults to “Packed”. +MaxReplicas is the maximum amount of replicas that the fleet may have. +It must be bigger than both MinReplicas and BufferSize |
-priorities
+minReplicas
-
-[]Priority
-
+int32
|
-(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic. +MinReplicas is the minimum amount of replicas that the fleet must have +If zero, it is ignored. +If non zero, it must be smaller than MaxReplicas and bigger than BufferSize |
-template
+bufferSize
-
-GameServerTemplateSpec
-
+k8s.io/apimachinery/pkg/util/intstr.IntOrString
|
- Template the GameServer template to apply for this GameServerSet +BufferSize defines how many replicas the autoscaler tries to have ready all the time +Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) +Absolute number is calculated from percentage by rounding up. +Example: when this is set to 20%, the autoscaler will make sure that 20% +of the fleet’s game server replicas are ready. When this is set to 20, +the autoscaler will make sure that there are 20 available game servers +Must be bigger than 0 +Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness +and computation stability in different edge case (fleet just created, not enough +capacity in the cluster etc) |
(Appears on: -GameServerSet) +FleetAutoscalerPolicy)
-
GameServerSetStatus is the status of a GameServerSet
+CounterPolicy controls the desired behavior of the Counter autoscaler policy.
-replicas
+key
-int32
+string
|
- Replicas is the total number of current GameServer replicas +Key is the name of the Counter. Required field. |
-readyReplicas
+maxCapacity
-int32
+int64
|
- ReadyReplicas is the number of Ready GameServer replicas +MaxCapacity is the maximum aggregate Counter total capacity across the fleet. +MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field. |
-reservedReplicas
+minCapacity
-int32
+int64
|
- ReservedReplicas is the number of Reserved GameServer replicas +MinCapacity is the minimum aggregate Counter total capacity across the fleet. +If zero, MinCapacity is ignored. +If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize. |
-allocatedReplicas
+bufferSize
-int32
+k8s.io/apimachinery/pkg/util/intstr.IntOrString
|
- AllocatedReplicas is the number of Allocated GameServer replicas - |
-
+(Appears on: +FleetAutoscalerSync) +
++
FixedIntervalSync controls the desired behavior of the fixed interval based sync.
+ +Field | +Description | +
---|---|
-shutdownReplicas
+seconds
int32
|
- ShutdownReplicas is the number of Shutdown GameServers replicas +Seconds defines how often we run fleet autoscaling in seconds |
+(Appears on: +FleetAutoscaleReview) +
++
FleetAutoscaleRequest defines the request to webhook autoscaler endpoint
+ +Field | +Description | +
---|---|
-players
+uid
-
-AggregatedPlayerStatus
-
+k8s.io/apimachinery/pkg/types.UID
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players is the current total player capacity and count for this GameServerSet +UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are +otherwise identical (parallel requests, requests when earlier requests did not modify etc) +The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. +It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. |
-counters
+name
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
-
+string
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this GameServerSet. +Name is the name of the Fleet being scaled |
-lists
+namespace
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
+string
+
+ |
+
+ Namespace is the namespace associated with the request (if any). + |
+
+status
+
+
+FleetStatus
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values -for this GameServerSet. +The Fleet’s status values |
(Appears on: -GameServer, -GameServerTemplateSpec) +FleetAutoscaleReview)
-
GameServerSpec is the spec for a GameServer resource
+FleetAutoscaleResponse defines the response of webhook autoscaler endpoint
-container
+uid
-string
+k8s.io/apimachinery/pkg/types.UID
|
- Container specifies which Pod container is the game server. Only required if there is more than one -container defined +UID is an identifier for the individual request/response. +This should be copied over from the corresponding FleetAutoscaleRequest. |
-ports
+scale
-
-[]GameServerPort
-
+bool
|
- Ports are the array of ports that can be exposed via the game server +Set to false if no scaling should occur to the Fleet |
-health
+replicas
-
-Health
-
+int32
|
- Health configures health checking +The targeted replica count |
+
FleetAutoscaleReview is passed to the webhook with a populated Request value, +and then returned with a populated Response.
+ +Field | +Description | +
---|---|
-scheduling
+request
-agones.dev/agones/pkg/apis.SchedulingStrategy
+
+FleetAutoscaleRequest
+
|
- Scheduling strategy. Defaults to “Packed” |
-sdkServer
+response
-
-SdkServer
+
+FleetAutoscaleResponse
|
- SdkServer specifies parameters for the Agones SDK Server sidecar container |
+(Appears on: +FleetAutoscalerSpec) +
++
FleetAutoscalerPolicy describes how to scale a fleet
+ +Field | +Description | +
---|---|
-template
+type
-
-Kubernetes core/v1.PodTemplateSpec
+
+FleetAutoscalerPolicyType
|
- Template describes the Pod that will be created for the GameServer +Type of autoscaling policy. |
-players
+buffer
-
-PlayersSpec
+
+BufferPolicy
|
(Optional)
- (Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. +Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer. |
-counters
+webhook
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
+WebhookPolicy
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features. +Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook. |
-lists
+counter
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
+
+CounterPolicy
|
+(Optional)
+ [Stage:Alpha] +[FeatureFlag:CountsAndLists] +Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter. |
-eviction
+list
-
-Eviction
+
+ListPolicy
|
(Optional)
- Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. +[Stage:Alpha] +[FeatureFlag:CountsAndLists] +List policy config params. Present only if FleetAutoscalerPolicyType = List. |
string
alias)(Appears on: -GameServerSelector, -GameServerStatus) +FleetAutoscalerPolicy)
-
GameServerState is the state for the GameServer
+FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet
-(Appears on: -GameServer) +FleetAutoscaler)
-
GameServerStatus is the status for a GameServer resource
+FleetAutoscalerSpec is the spec for a Fleet Scaler
-state
+fleetName
-
-GameServerState
-
+string
|
- GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc |
-ports
+policy
-
-[]GameServerStatusPort
+
+FleetAutoscalerPolicy
|
+ Autoscaling policy |
-address
+sync
-string
+
+FleetAutoscalerSync
+
|
+(Optional)
+ Sync defines when FleetAutoscalers runs autoscaling |
+(Appears on: +FleetAutoscaler) +
++
FleetAutoscalerStatus defines the current status of a FleetAutoscaler
+ +
-addresses
-
-
-[]Kubernetes core/v1.NodeAddress
-
-
- |
-
-(Optional)
- Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses. - |
-||
-nodeName
-
-string
-
- |
-- | +Field | +Description |
---|---|---|---|
-reservedUntil
+currentReplicas
-
-Kubernetes meta/v1.Time
-
+int32
|
+ CurrentReplicas is the current number of gameserver replicas +of the fleet managed by this autoscaler, as last seen by the autoscaler |
||
-players
+desiredReplicas
-
-PlayerStatus
-
+int32
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerTracking] +DesiredReplicas is the desired number of gameserver replicas +of the fleet managed by this autoscaler, as last calculated by the autoscaler |
||
-counters
+lastScaleTime
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
+Kubernetes meta/v1.Time
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features. +lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet, |
||
-lists
+ableToScale
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
-
+bool
|
-(Optional)
+ AbleToScale indicates that we can access the target fleet |
||
-eviction
+scalingLimited
-
-Eviction
-
+bool
|
-(Optional)
- Eviction specifies the eviction tolerance of the GameServer. +ScalingLimited indicates that the calculated scale would be above or below the range +defined by MinReplicas and MaxReplicas, and has thus been capped. |
(Appears on: -GameServerAllocationStatus, -GameServerStatus) +FleetAutoscalerSpec)
-
GameServerStatusPort shows the port that was allocated to a -GameServer.
+FleetAutoscalerSync describes when to sync a fleet
-name
+type
-string
+
+FleetAutoscalerSyncType
+
|
+ Type of autoscaling sync. |
-port
+fixedInterval
-int32
+
+FixedIntervalSync
+
|
+(Optional)
+ FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval. |
string
alias)+(Appears on: +FleetAutoscalerSync) +
++
FleetAutoscalerSyncType is the sync strategy for a given Fleet
+ +(Appears on: -FleetSpec, -GameServerSetSpec) +FleetAutoscalerPolicy)
-
GameServerTemplateSpec is a template for GameServers
+ListPolicy controls the desired behavior of the List autoscaler policy.
-metadata
-
-
-Kubernetes meta/v1.ObjectMeta
-
-
- |
-
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
- |
-||||||||||||||||||||||
-spec
-
-
-GameServerSpec
-
-
- |
-
- - -
WebhookPolicy +++(Appears on: +FleetAutoscalerPolicy) + ++ WebhookPolicy controls the desired behavior of the webhook policy. +It contains the description of the webhook autoscaler service +used to form url which is accessible inside the cluster + +
|
-(Appears on: -GameServerSpec) +
Package v1 is the v1 version of the API.
+Resource Types: + +-
Health configures health checking on the GameServer
+GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API
-disabled
+apiVersion
+string |
+
+
+multicluster.agones.dev/v1
+
+ |
+||||||
+kind
+string
+ |
+GameServerAllocationPolicy |
+||||||
+metadata
-bool
+
+Kubernetes meta/v1.ObjectMeta
+
|
- Disabled is whether health checking is disabled or not +Refer to the Kubernetes API documentation for the fields of the +metadata field.
|
||||||
-periodSeconds
+spec
+
+
+GameServerAllocationPolicySpec
+
+
+ |
+
+ + +
|
(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationPolicySpec)
-
ListStatus stores the current list values
+ClusterConnectionInfo defines the connection information for a cluster
-capacity
+clusterName
-int64
+string
|
+ Optional: the name of the targeted cluster |
-values
+allocationEndpoints
[]string
|
+ The endpoints for the allocator service in the targeted cluster. +If the AllocationEndpoints is not set, the allocation happens on local cluster. +If there are multiple endpoints any of the endpoints that can handle allocation request should suffice |
-(Appears on: -GameServerStatus) -
--
PlayerStatus stores the current player capacity values
- -Field | -Description | -
---|---|
-count
+secretName
-int64
+string
|
+ The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster |
-capacity
+namespace
-int64
+string
|
+ The cluster namespace from which to allocate gameservers |
-ids
+serverCa
-[]string
+[]byte
|
+ The PEM encoded server CA, used by the allocator client to authenticate the remote server. |
-(Appears on: -GameServerSpec) -
--
PlayersSpec tracks the initial player capacity
+ConnectionInfoIterator an iterator on ClusterConnectionInfo
-initialCapacity
+currPriority
-int64
+int
|
+ currPriority Current priority index from the orderedPriorities |
string
alias)-(Appears on: -GameServerPort) -
--
PortPolicy is the port policy for the GameServer
- --(Appears on: -FleetSpec, -GameServerAllocationSpec, -GameServerSetSpec) -
--
Priority is a sorting option for GameServers with Counters or Lists based on the Capacity. -Type: Sort by a “Counter” or a “List”. -Key: The name of the Counter or List. If not found on the GameServer, has no impact. -Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. -“Ascending” would be smaller Capacity is preferred.
- -Field | -Description | -
---|---|
-type
+orderedPriorities
-string
+[]int32
|
+ orderedPriorities list of ordered priorities |
-key
+priorityToCluster
-string
+map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
|
+ priorityToCluster Map of priority to cluster-policies map |
-order
+clusterBlackList
-string
+map[string]bool
|
+ clusterBlackList the cluster blacklist for the clusters that has already returned |
(Appears on: -GameServerSpec) +GameServerAllocationPolicy)
-
SdkServer specifies parameters for the Agones SDK Server sidecar container
+GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy
-logLevel
+priority
-
-SdkServerLogLevel
-
+int32
|
- LogLevel for SDK server (sidecar) logs. Defaults to “Info” |
-grpcPort
+weight
-int32
+int
|
- GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections |
-httpPort
+connectionInfo
-int32
+
+ClusterConnectionInfo
+
|
- HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections |
string
alias)-(Appears on: -SdkServer) -
--
SdkServerLogLevel is the log level for SDK server (sidecar) logs
-
Package v1 is the v1 version of the API.
Resource Types: --
GameServerAllocation is the data structure for allocating against a set of
-GameServers, defined selectors
selectors
Fleet is the data structure for a Fleet resource
-allocation.agones.dev/v1
+agones.dev/v1
|
@@ -2216,7 +2202,7 @@ GameServerAllocation |
+Fleet |
||||||||||||||||
@@ -2236,8 +2222,8 @@ GameServerAllocation
spec
-
-GameServerAllocationSpec
+
+FleetSpec
GameServerAllocation
status
-
-GameServerAllocationStatus
+
+FleetStatus
|
-(Appears on: -GameServerAllocationSpec) -
--
CounterAction is an optional action that can be performed on a Counter at allocation. -Action: “Increment” or “Decrement” the Counter’s Count (optional). Must also define the Amount. -Amount: The amount to increment or decrement the Count (optional). Must be a positive integer. -Capacity: Update the maximum capacity of the Counter to this number (optional). Min 0, Max int64.
+GameServer is the data structure for a GameServer resource.
+It is worth noting that while there is a GameServerStatus
Status entry for the GameServer
, it is not
+defined as a subresource - unlike Fleet
and other Agones resources.
+This is so that we can retain the ability to change multiple aspects of a GameServer
in a single atomic operation,
+which is particularly useful for operations such as allocation.
-action
-
-string
-
+apiVersion
+string |
+
+
+agones.dev/v1
+
|
+
+kind
+string
|
+GameServer |
-amount
+metadata
-int64
+
+Kubernetes meta/v1.ObjectMeta
+
|
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
|
-capacity
+spec
-int64
+
+GameServerSpec
+
|
- | -
-(Appears on: -GameServerSelector) -
--
CounterSelector is the filter options for a GameServer based on the count and/or available capacity. -0 for MaxCount or MaxAvailable means unlimited maximum. Default for all fields: 0
- +Field | -Description | -
---|---|
-minCount
+container
-int64
+string
|
+ Container specifies which Pod container is the game server. Only required if there is more than one +container defined |
-maxCount
+ports
-int64
+
+[]GameServerPort
+
|
+ Ports are the array of ports that can be exposed via the game server |
-minAvailable
+health
-int64
+
+Health
+
|
+ Health configures health checking |
-maxAvailable
+scheduling
-int64
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
+ Scheduling strategy. Defaults to “Packed” |
-(Appears on: -GameServerAllocation) -
--
GameServerAllocationSpec is the spec for a GameServerAllocation
- -Field | -Description | -
---|---|
-multiClusterSetting
+sdkServer
-
-MultiClusterSetting
+
+SdkServer
|
- MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally. +SdkServer specifies parameters for the Agones SDK Server sidecar container |
-required
+template
-
-GameServerSelector
+
+Kubernetes core/v1.PodTemplateSpec
|
- Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers. +Template describes the Pod that will be created for the GameServer |
-preferred
+players
-
-[]GameServerSelector
+
+PlayersSpec
|
- Deprecated: use field Selectors instead. If Selectors is set, this field is ignored.
-Preferred is an ordered list of preferred GameServer selectors
-that are optional to be fulfilled, but will be searched before the (Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. |
-priorities
+counters
-
-[]Priority
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
|
(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first. +(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time. |
-selectors
+lists
-
-[]GameServerSelector
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
|
- Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set. - |
-
-scheduling
-
-agones.dev/agones/pkg/apis.SchedulingStrategy
-
- |
-
- Scheduling strategy. Defaults to “Packed”. +(Optional) +(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time. |
-metadata
+eviction
-
-MetaPatch
+
+Eviction
|
- MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data +(Optional) +Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. |
-counters
-
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
-
-
- |
-
-(Optional)
- (Alpha, CountsAndLists feature flag) Counters and Lists provide a set of actions to perform -on Counters and Lists during allocation. + |
lists
+status
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
+
+GameServerStatus
string
alias)-(Appears on: -GameServerAllocationStatus) -
--
GameServerAllocationState is the Allocation state
- --(Appears on: -GameServerAllocation) -
--
GameServerAllocationStatus is the status for an GameServerAllocation resource
+GameServerSet is the data structure for a set of GameServers. +This matches philosophically with the relationship between +Deployments and ReplicaSets
-state
-
-
-GameServerAllocationState
-
-
+apiVersion
+string |
+
+
+agones.dev/v1
+
|
+||||||||||
- GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated +kind
+string
|
+GameServerSet |
||||||||||
-gameServerName
+metadata
-string
+
+Kubernetes meta/v1.ObjectMeta
+
|
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
|
||||||||||
-ports
+spec
-
-[]GameServerStatusPort
+
+GameServerSetSpec
|
+ + +
|
||||||||||
-metadata
+status
-
-GameServerMetadata
+
+GameServerSetStatus
|
@@ -2776,14 +2686,15 @@
(Appears on: -GameServerAllocationStatus) +FleetStatus, +GameServerSetStatus)
-
GameServerMetadata is the metadata from the allocated game server at allocation time
+AggregatedCounterStatus stores total and allocated Counter tracking values
-labels
+allocatedCount
-map[string]string
+int64
|
@@ -2805,9 +2716,29 @@ GameServerMetadata |
-annotations
+allocatedCapacity
-map[string]string
+int64
+
+ |
++ | +
+count
+
+int64
+
+ |
++ | +
+capacity
+
+int64
|
@@ -2815,15 +2746,15 @@ GameServerMetadata |
(Appears on: -GameServerAllocationSpec) +FleetStatus, +GameServerSetStatus)
-
GameServerSelector contains all the filter options for selecting -a GameServer for allocation.
+AggregatedListStatus stores total and allocated List tracking values
-LabelSelector
+allocatedCount
-
-Kubernetes meta/v1.LabelSelector
-
+int64
|
-
-(Members of See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
-gameServerState
+allocatedCapacity
-
-GameServerState
-
+int64
|
- GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer -via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with -label/annotation/player selectors to retrieve an already Allocated GameServer. |
-players
+count
-
-PlayerSelector
-
+int64
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerAllocationFilter] -Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer -through Allocation. Defaults to no limits. |
-counters
+capacity
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector
-
+int64
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values -for a Counter’s count and available capacity when retrieving a GameServer through Allocation. -Defaults to no limits. - |
-
-lists
-
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector
-
-
- |
-
-(Optional)
- (Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values -for List capacity, and for the existence of a value in a List, when retrieving a GameServer -through Allocation. Defaults to no limits. |
(Appears on: -GameServerAllocationSpec) +FleetStatus, +GameServerSetStatus)
-
ListAction is an optional action that can be performed on a List at allocation. -AddValues: Append values to a List’s Values array (optional). Any duplicate values will be ignored. -Capacity: Update the maximum capacity of the Counter to this number (optional). Min 0, Max 1000.
+AggregatedPlayerStatus stores total player tracking values
-addValues
+count
-[]string
+int64
|
@@ -2956,17 +2846,17 @@ ListAction |
(Appears on: -GameServerSelector) +FleetSpec, +GameServerSetSpec)
-
ListSelector is the filter options for a GameServer based on List available capacity and/or the -existence of a value in a List. -0 for MaxAvailable means unlimited maximum. Default for integer fields: 0 -“” for ContainsValue means ignore field. Default for string field: “”
+AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers
+if the desired number of the underlying GameServerSet
drops below the number of Allocated GameServers
+attached to it.
-containsValue
-
-string
-
- |
-- | -
-minAvailable
+labels
-int64
+map[string]string
|
+(Optional)
+ Labels to be applied to the |
-maxAvailable
+annotations
-int64
+map[string]string
|
+(Optional)
+ Annotations to be applied to the |
(Appears on: -GameServerAllocationSpec) +GameServerSpec, +GameServerStatus)
-
MetaPatch is the metadata used to patch the GameServer metadata on allocation
+CounterStatus stores the current counter values and maximum capacity
-labels
+count
-map[string]string
+int64
|
@@ -3037,9 +2922,9 @@ MetaPatch |
-annotations
+capacity
-map[string]string
+int64
|
@@ -3047,14 +2932,15 @@ MetaPatch |
(Appears on: -GameServerAllocationSpec) +GameServerSpec, +GameServerStatus)
-
MultiClusterSetting specifies settings for multi-cluster allocation.
+Eviction specifies the eviction tolerance of the GameServer
-enabled
-
-bool
-
- |
-- | -
-policySelector
+safe
-
-Kubernetes meta/v1.LabelSelector
+
+EvictionSafe
|
+ Game server supports termination via SIGTERM: +- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades +- OnUpgrade: Allow eviction for upgrades alone +- Never (default): Pod should run to completion |
string
alias)(Appears on: -GameServerSelector) +Eviction)
-
PlayerSelector is the filter options for a GameServer based on player counts
+EvictionSafe specified whether the game server supports termination via SIGTERM
-Field | -Description | -
---|---|
-minAvailable
-
-int64
-
- |
-- | -
-maxAvailable
-
-int64
-
- |
-- | -
-
Package v1 is the v1 version of the API.
+(Appears on: +Fleet) -Resource Types: - --
FleetAutoscaler is the data structure for a FleetAutoscaler resource
+FleetSpec is the spec for a Fleet
-apiVersion
-string |
-
-
-autoscaling.agones.dev/v1
-
+replicas
+
+int32
+
|
-||||||
-kind
-string
+Replicas are the number of GameServers that should be in this set. Defaults to 0. |
-FleetAutoscaler |
||||||
-metadata
+allocationOverflow
-
-Kubernetes meta/v1.ObjectMeta
+
+AllocationOverflow
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+(Optional)
+[Stage: Beta]
+[FeatureFlag:FleetAllocationOverflow]
+Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more
+than the desired replicas on the underlying |
||||||
-spec
+strategy
-
-FleetAutoscalerSpec
+
+Kubernetes apps/v1.DeploymentStrategy
|
- - -
(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic. |
||||||
-status
+template
-
-FleetAutoscalerStatus
+
+GameServerTemplateSpec
|
+ Template the GameServer template to apply for this Fleet |
(Appears on: -FleetAutoscalerPolicy) +Fleet, +FleetAutoscaleRequest)
-
BufferPolicy controls the desired behavior of the buffer policy.
+FleetStatus is the status of a Fleet
-maxReplicas
+replicas
int32
|
- MaxReplicas is the maximum amount of replicas that the fleet may have. -It must be bigger than both MinReplicas and BufferSize +Replicas the total number of current GameServer replicas |
-minReplicas
+readyReplicas
int32
|
- MinReplicas is the minimum amount of replicas that the fleet must have -If zero, it is ignored. -If non zero, it must be smaller than MaxReplicas and bigger than BufferSize +ReadyReplicas are the number of Ready GameServer replicas |
-bufferSize
+reservedReplicas
-k8s.io/apimachinery/pkg/util/intstr.IntOrString
+int32
|
- BufferSize defines how many replicas the autoscaler tries to have ready all the time -Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) -Absolute number is calculated from percentage by rounding up. -Example: when this is set to 20%, the autoscaler will make sure that 20% -of the fleet’s game server replicas are ready. When this is set to 20, -the autoscaler will make sure that there are 20 available game servers -Must be bigger than 0 -Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness -and computation stability in different edge case (fleet just created, not enough -capacity in the cluster etc) - |
-
-(Appears on: -FleetAutoscalerPolicy) -
--
CounterPolicy controls the desired behavior of the Counter autoscaler policy.
- -Field | -Description | +
---|---|
-key
+allocatedReplicas
-string
+int32
|
- Key is the name of the Counter. Required field. +AllocatedReplicas are the number of Allocated GameServer replicas |
-maxCapacity
+players
-int64
+
+AggregatedPlayerStatus
+
|
- MaxCapacity is the maximum aggregate Counter total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field. +(Optional) +[Stage:Alpha] +[FeatureFlag:PlayerTracking] +Players are the current total player capacity and count for this Fleet |
-minCapacity
+counters
-int64
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
+
|
- MinCapacity is the minimum aggregate Counter total capacity across the fleet. -If zero, MinCapacity is ignored. -If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize. +(Optional) +(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this Fleet. |
-bufferSize
+lists
-k8s.io/apimachinery/pkg/util/intstr.IntOrString
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
+
|
- BufferSize is the size of a buffer of counted items that are available in the Fleet (available -capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances -(ex: 5%). An absolute number is calculated from percentage by rounding up. -Must be bigger than 0. Required field. +(Optional) +(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values +for this Fleet. |
(Appears on: -FleetAutoscalerSync) +GameServerSpec)
-
FixedIntervalSync controls the desired behavior of the fixed interval based sync.
+GameServerPort defines a set of Ports that +are to be exposed via the GameServer
-seconds
+name
-int32
+string
|
- Seconds defines how often we run fleet autoscaling in seconds +Name is the descriptive name of the port |
-(Appears on: -FleetAutoscaleReview) -
--
FleetAutoscaleRequest defines the request to webhook autoscaler endpoint
- -Field | -Description | +
+portPolicy
+
+
+PortPolicy
+
+
+ |
+
+ PortPolicy defines the policy for how the HostPort is populated.
+Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller
+at installation time.
+When |
---|---|---|---|
-uid
+container
-k8s.io/apimachinery/pkg/types.UID
+string
|
- UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are -otherwise identical (parallel requests, requests when earlier requests did not modify etc) -The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. -It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. +(Optional) +Container is the name of the container on which to open the port. Defaults to the game server container. |
||
-name
+containerPort
-string
+int32
|
- Name is the name of the Fleet being scaled +ContainerPort is the port that is being opened on the specified container’s process |
||
-namespace
+hostPort
-string
+int32
|
- Namespace is the namespace associated with the request (if any). +HostPort the port exposed on the host for clients to connect to |
||
-status
+protocol
-
-FleetStatus
+
+Kubernetes core/v1.Protocol
|
- The Fleet’s status values +Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options. |
(Appears on: -FleetAutoscaleReview) +GameServerSet)
-
FleetAutoscaleResponse defines the response of webhook autoscaler endpoint
+GameServerSetSpec the specification for GameServerSet
-uid
+replicas
-k8s.io/apimachinery/pkg/types.UID
+int32
|
- UID is an identifier for the individual request/response. -This should be copied over from the corresponding FleetAutoscaleRequest. +Replicas are the number of GameServers that should be in this set |
-scale
+allocationOverflow
-bool
+
+AllocationOverflow
+
|
- Set to false if no scaling should occur to the Fleet +(Optional) +[Stage: Beta]
+[FeatureFlag:FleetAllocationOverflow]
+Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
+the desired replicas on the underlying |
-replicas
+scheduling
-int32
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
- The targeted replica count +Scheduling strategy. Defaults to “Packed”. |
-
FleetAutoscaleReview is passed to the webhook with a populated Request value, -and then returned with a populated Response.
- -Field | -Description | -
---|---|
-request
+priorities
-
-FleetAutoscaleRequest
+
+[]Priority
|
+(Optional)
+ (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic. |
-response
+template
-
-FleetAutoscaleResponse
+
+GameServerTemplateSpec
|
+ Template the GameServer template to apply for this GameServerSet |
(Appears on: -FleetAutoscalerSpec) +GameServerSet)
-
FleetAutoscalerPolicy describes how to scale a fleet
+GameServerSetStatus is the status of a GameServerSet
-type
+replicas
-
-FleetAutoscalerPolicyType
-
+int32
|
- Type of autoscaling policy. +Replicas is the total number of current GameServer replicas |
-buffer
+readyReplicas
-
-BufferPolicy
-
+int32
|
-(Optional)
- Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer. +ReadyReplicas is the number of Ready GameServer replicas |
-webhook
+reservedReplicas
-
-WebhookPolicy
-
+int32
|
-(Optional)
- Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook. +ReservedReplicas is the number of Reserved GameServer replicas |
-counter
+allocatedReplicas
-
-CounterPolicy
-
+int32
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:CountsAndLists] -Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter. +AllocatedReplicas is the number of Allocated GameServer replicas |
-list
+shutdownReplicas
-
-ListPolicy
-
+int32
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:CountsAndLists] -List policy config params. Present only if FleetAutoscalerPolicyType = List. +ShutdownReplicas is the number of Shutdown GameServers replicas |
string
alias)-(Appears on: -FleetAutoscalerPolicy) -
--
FleetAutoscalerPolicyType is the policy for autoscaling -for a given Fleet
- --(Appears on: -FleetAutoscaler) -
--
FleetAutoscalerSpec is the spec for a Fleet Scaler
- -Field | -Description | -
---|---|
-fleetName
+players
-string
+
+AggregatedPlayerStatus
+
|
+(Optional)
+ [Stage:Alpha] +[FeatureFlag:PlayerTracking] +Players is the current total player capacity and count for this GameServerSet |
-policy
+counters
-
-FleetAutoscalerPolicy
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
|
- Autoscaling policy +(Optional) +(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this GameServerSet. |
-sync
+lists
-
-FleetAutoscalerSync
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
|
(Optional)
- Sync defines when FleetAutoscalers runs autoscaling +(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values +for this GameServerSet. |
(Appears on: -FleetAutoscaler) +GameServer, +GameServerTemplateSpec)
-
FleetAutoscalerStatus defines the current status of a FleetAutoscaler
+GameServerSpec is the spec for a GameServer resource
-currentReplicas
+container
-int32
+string
|
- CurrentReplicas is the current number of gameserver replicas -of the fleet managed by this autoscaler, as last seen by the autoscaler +Container specifies which Pod container is the game server. Only required if there is more than one +container defined |
-desiredReplicas
+ports
-int32
+
+[]GameServerPort
+
|
- DesiredReplicas is the desired number of gameserver replicas -of the fleet managed by this autoscaler, as last calculated by the autoscaler +Ports are the array of ports that can be exposed via the game server |
-lastScaleTime
+health
-
-Kubernetes meta/v1.Time
+
+Health
|
-(Optional)
- lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet, +Health configures health checking |
-ableToScale
+scheduling
-bool
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
- AbleToScale indicates that we can access the target fleet +Scheduling strategy. Defaults to “Packed” |
-scalingLimited
+sdkServer
-bool
+
+SdkServer
+
|
- ScalingLimited indicates that the calculated scale would be above or below the range -defined by MinReplicas and MaxReplicas, and has thus been capped. +SdkServer specifies parameters for the Agones SDK Server sidecar container |
-(Appears on: -FleetAutoscalerSpec) -
--
FleetAutoscalerSync describes when to sync a fleet
- -Field | -Description | +
+template
+
+
+Kubernetes core/v1.PodTemplateSpec
+
+
+ |
+
+ Template describes the Pod that will be created for the GameServer + |
---|---|---|---|
-type
+players
-
-FleetAutoscalerSyncType
+
+PlayersSpec
|
- Type of autoscaling sync. +(Optional) +(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. |
||
-fixedInterval
+counters
-
-FixedIntervalSync
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
|
(Optional)
- FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval. +(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time. + |
+||
+lists
+
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
+
+
+ |
+
+(Optional)
+ (Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time. + |
+||
+eviction
+
+
+Eviction
+
+
+ |
+
+(Optional)
+ Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. |
string
alias)(Appears on: -FleetAutoscalerSync) +GameServerSelector, +GameServerStatus)
-
FleetAutoscalerSyncType is the sync strategy for a given Fleet
+GameServerState is the state for the GameServer
-(Appears on: -FleetAutoscalerPolicy) +GameServer)
-
ListPolicy controls the desired behavior of the List autoscaler policy.
+GameServerStatus is the status for a GameServer resource
-key
+state
-string
+
+GameServerState
+
|
- Key is the name of the List. Required field. +GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc |
-maxCapacity
+ports
-int64
+
+[]GameServerStatusPort
+
|
- MaxCapacity is the maximum aggregate List total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field. |
-minCapacity
+address
-int64
+string
|
- MinCapacity is the minimum aggregate List total capacity across the fleet. -If zero, it is ignored. -If non zero, it must be smaller than MaxCapacity and bigger than BufferSize. |
-bufferSize
+addresses
-k8s.io/apimachinery/pkg/util/intstr.IntOrString
+
+[]Kubernetes core/v1.NodeAddress
+
|
- BufferSize is the size of a buffer based on the List capacity that is available over the -current aggregate List length in the Fleet (available capacity). It can be specified either -as an absolute value (i.e. 5) or percentage format (i.e. 5%). -Must be bigger than 0. Required field. +(Optional) +Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses. |
-(Appears on: -FleetAutoscalerPolicy) -
--
WebhookPolicy controls the desired behavior of the webhook policy. -It contains the description of the webhook autoscaler service -used to form url which is accessible inside the cluster
- -Field | -Description | -
---|---|
-url
+nodeName
string
|
-(Optional)
-
The Please note that using The scheme must be “https”; the URL must begin with “https://”. -A path is optional, and if present may be any string permissible in -a URL. You may use the path to pass an arbitrary string to the -webhook, for example, a cluster identifier. -Attempting to use a user or basic auth e.g. “user:password@” is not -allowed. Fragments (“#…”) and query parameters (“?…”) are not -allowed, either. |
-service
+reservedUntil
-
-Kubernetes admissionregistration/v1.ServiceReference
+
+Kubernetes meta/v1.Time
+
+
+ |
++ | +
+players
+
+
+PlayerStatus
|
(Optional)
-
If the webhook is running within the cluster, then you should use [Stage:Alpha] +[FeatureFlag:PlayerTracking] |
-caBundle
+counters
-[]byte
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
|
(Optional)
-
(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features. + |
+
+lists
+
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
+
+
+ |
++(Optional) + | +
+eviction
+
+
+Eviction
+
+
+ |
+
+(Optional)
+ Eviction specifies the eviction tolerance of the GameServer. |
-
Package v1 is the v1 version of the API.
+(Appears on: +GameServerAllocationStatus, +GameServerStatus) -Resource Types: - --
GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API
+GameServerStatusPort shows the port that was allocated to a +GameServer.
-apiVersion
-string |
+
-
-multicluster.agones.dev/v1
-
|
|
-kind
-string
+port
+
+int32
+
|
-GameServerAllocationPolicy |
++ | +
+(Appears on: +FleetSpec, +GameServerSetSpec) +
++
GameServerTemplateSpec is a template for GameServers
+ +Field | +Description | ||||||
---|---|---|---|---|---|---|---|
metadata
@@ -4071,8 +3878,8 @@ GameServerAllocat
spec
-
-GameServerAllocationPolicySpec
+
+GameServerSpec
| |||||||
+scheduling
+
+agones.dev/agones/pkg/apis.SchedulingStrategy
+
+ |
+
+ Scheduling strategy. Defaults to “Packed” |
-(Appears on: -GameServerAllocationPolicySpec) -
--
ClusterConnectionInfo defines the connection information for a cluster
- -Field | -Description | +
+sdkServer
+
+
+SdkServer
+
+
+ |
+
+ SdkServer specifies parameters for the Agones SDK Server sidecar container + |
---|---|---|---|
-clusterName
+template
-string
+
+Kubernetes core/v1.PodTemplateSpec
+
|
- Optional: the name of the targeted cluster +Template describes the Pod that will be created for the GameServer |
||
-allocationEndpoints
+players
-[]string
+
+PlayersSpec
+
|
- The endpoints for the allocator service in the targeted cluster. -If the AllocationEndpoints is not set, the allocation happens on local cluster. -If there are multiple endpoints any of the endpoints that can handle allocation request should suffice +(Optional) +(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. |
||
-secretName
+counters
-string
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
|
- The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster +(Optional) +(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time. |
||
-namespace
+lists
-string
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
+
|
- The cluster namespace from which to allocate gameservers +(Optional) +(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time. |
||
-serverCa
+eviction
-[]byte
+
+Eviction
+
|
- The PEM encoded server CA, used by the allocator client to authenticate the remote server. +(Optional) +Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. + |
+
-
ConnectionInfoIterator an iterator on ClusterConnectionInfo
+(Appears on: +GameServerSpec) + ++
Health configures health checking on the GameServer
-currPriority
+disabled
-int
+bool
|
- currPriority Current priority index from the orderedPriorities +Disabled is whether health checking is disabled or not |
-orderedPriorities
+periodSeconds
-[]int32
+int32
|
- orderedPriorities list of ordered priorities +PeriodSeconds is the number of seconds each health ping has to occur in |
-priorityToCluster
+failureThreshold
-map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
+int32
|
- priorityToCluster Map of priority to cluster-policies map +FailureThreshold how many failures in a row constitutes unhealthy |
-clusterBlackList
+initialDelaySeconds
-map[string]bool
+int32
|
- clusterBlackList the cluster blacklist for the clusters that has already returned +InitialDelaySeconds initial delay before checking health |
(Appears on: -GameServerAllocationPolicy) +GameServerSpec, +GameServerStatus)
-
GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy
+ListStatus stores the current list values and maximum capacity
-priority
+capacity
-int32
+int64
|
@@ -4281,21 +4118,58 @@ GameServerAll |
-weight
+values
-int
+[]string
|
+(Appears on: +GameServerStatus) +
++
PlayerStatus stores the current player capacity values
+ +Field | +Description | +
---|---|
-connectionInfo
+count
-
-ClusterConnectionInfo
-
+int64
+
+ |
++ | +
+capacity
+
+int64
+
+ |
++ | +
+ids
+
+[]string
|
@@ -4303,40 +4177,14 @@ GameServerAll |
-Generated with gen-crd-api-reference-docs
.
-
Packages:
--
Package v1 is the v1 version of the API.
+(Appears on: +GameServerSpec) -Resource Types: - --
GameServerAllocation is the data structure for allocating against a set of
-GameServers, defined selectors
selectors
PlayersSpec tracks the initial player capacity
-apiVersion
-string |
+
-
-allocation.agones.dev/v1
-
|
string
alias)+(Appears on: +GameServerPort) +
++
PortPolicy is the port policy for the GameServer
+ ++(Appears on: +FleetSpec, +GameServerAllocationSpec, +GameServerSetSpec) +
++
Priority is a sorting option for GameServers with Counters or Lists based on the Capacity.
+ +Field | +Description | +|
---|---|---|
-kind
+type
+
string
+
+ |
+
+ Type: Sort by a “Counter” or a “List”. |
-GameServerAllocation |
-metadata
+key
-
-Kubernetes meta/v1.ObjectMeta
-
+string
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+Key: The name of the Counter or List. If not found on the GameServer, has no impact. |
|
-spec
+order
-
-GameServerAllocationSpec
-
+string
|
- - + Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. +“Ascending” would be smaller Capacity is preferred. + |
+
+(Appears on: +GameServerSpec) +
++
SdkServer specifies parameters for the Agones SDK Server sidecar container
+Field | +Description | +
---|---|
-multiClusterSetting
+logLevel
-
-MultiClusterSetting
+
+SdkServerLogLevel
|
- MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally. +LogLevel for SDK server (sidecar) logs. Defaults to “Info” |
-required
+grpcPort
-
-GameServerSelector
-
+int32
|
- Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers. +GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections |
-preferred
+httpPort
-
-[]GameServerSelector
-
+int32
|
- Deprecated: use field Selectors instead. If Selectors is set, this field is ignored.
-Preferred is an ordered list of preferred GameServer selectors
-that are optional to be fulfilled, but will be searched before the HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections + |
+
string
alias)+(Appears on: +SdkServer) +
++
SdkServerLogLevel is the log level for SDK server (sidecar) logs
+ +
+Generated with gen-crd-api-reference-docs
.
+
Packages:
++
Package v1 is the v1 version of the API.
+ +Resource Types: ++
Fleet is the data structure for a Fleet resource
+ +Field | +Description | +||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion
+string |
+
+
+agones.dev/v1
+
+ |
+||||||||||||
+kind
+string
+ |
+Fleet |
+||||||||||||
+metadata
+
+
+Kubernetes meta/v1.ObjectMeta
+
+
+ |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||
+spec
+
+
+FleetSpec
+
+
+ |
+
+ + +
|
+||||||||||||
+status
+
+
+FleetStatus
+
+
+ |
++ | +
+
GameServer is the data structure for a GameServer resource.
+It is worth noting that while there is a GameServerStatus
Status entry for the GameServer
, it is not
+defined as a subresource - unlike Fleet
and other Agones resources.
+This is so that we can retain the ability to change multiple aspects of a GameServer
in a single atomic operation,
+which is particularly useful for operations such as allocation.
Field | +Description | +||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion
+string |
+
+
+agones.dev/v1
+
+ |
+||||||||||||||||||||
+kind
+string
+ |
+GameServer |
+||||||||||||||||||||
+metadata
+
+
+Kubernetes meta/v1.ObjectMeta
+
+
+ |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||||||||
+spec
+
+
+GameServerSpec
+
+
+ |
+
+ + +
|
+||||||||||||||||||||
+status
+
+
+GameServerStatus
+
+
+ |
++ | +
+
GameServerSet is the data structure for a set of GameServers. +This matches philosophically with the relationship between +Deployments and ReplicaSets
+ +Field | +Description | +
---|---|
+apiVersion
+string |
+
+
+agones.dev/v1
+
+ |
+
+kind
+string
+ |
+GameServerSet |
+
+metadata
+
+
+Kubernetes meta/v1.ObjectMeta
+
+
+ |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
|
-priorities
+spec
-
-[]Priority
+
+GameServerSetSpec
|
-(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first. - |
-
-selectors
+replicas
-
-[]GameServerSelector
-
+int32
|
- Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set. +Replicas are the number of GameServers that should be in this set |
-scheduling
+allocationOverflow
-agones.dev/agones/pkg/apis.SchedulingStrategy
+
+AllocationOverflow
+
|
- Scheduling strategy. Defaults to “Packed”. +(Optional) +[Stage: Beta]
+[FeatureFlag:FleetAllocationOverflow]
+Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
+the desired replicas on the underlying |
-metadata
+scheduling
-
-MetaPatch
-
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
- MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data +Scheduling strategy. Defaults to “Packed”. |
-counters
+priorities
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
+
+[]Priority
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counter actions to perform during allocation. +[Stage: Alpha]
+[FeatureFlag:CountsAndLists]
+ Priority of sorting is in descending importance. I.e. The position 0 For For |
-lists
+template
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
+
+GameServerTemplateSpec
|
-(Optional)
- (Alpha, CountsAndLists feature flag) List actions to perform during allocation. +Template the GameServer template to apply for this GameServerSet |
status
-
-GameServerAllocationStatus
+
+GameServerSetStatus
(Appears on: -GameServerAllocationSpec) +FleetStatus, +GameServerSetStatus)
-
CounterAction is an optional action that can be performed on a Counter at allocation.
+AggregatedCounterStatus stores total and allocated Counter tracking values
-action
+allocatedCount
-string
+int64
|
-(Optional)
- Action must to either “Increment” or “Decrement” the Counter’s Count. Must also define the Amount. |
-amount
+allocatedCapacity
+
+int64
+
+ |
++ | +
+count
int64
|
-(Optional)
- Amount is the amount to increment or decrement the Count. Must be a positive integer. |
-(Optional)
- Capacity is the amount to update the maximum capacity of the Counter to this number. Min 0, Max int64. |
(Appears on: -GameServerSelector) +FleetStatus, +GameServerSetStatus)
-
CounterSelector is the filter options for a GameServer based on the count and/or available capacity.
+AggregatedListStatus stores total and allocated List tracking values
-minCount
+allocatedCount
int64
|
-(Optional)
- MinCount is the minimum current value. Defaults to 0. |
-maxCount
+allocatedCapacity
int64
|
-(Optional)
- MaxCount is the maximum current value. Defaults to 0, which translates as max(in64). |
-minAvailable
+count
int64
|
-(Optional)
- MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0. |
-maxAvailable
+capacity
int64
|
-(Optional)
- MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which translates to max(int64). |
(Appears on: -GameServerAllocation) +FleetStatus, +GameServerSetStatus)
-
GameServerAllocationSpec is the spec for a GameServerAllocation
+AggregatedPlayerStatus stores total player tracking values
-multiClusterSetting
+count
-
-MultiClusterSetting
-
+int64
|
- MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally. |
-required
+capacity
-
-GameServerSelector
-
+int64
|
- Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers. |
+(Appears on: +FleetSpec, +GameServerSetSpec) +
++
AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers
+if the desired number of the underlying GameServerSet
drops below the number of Allocated GameServers
+attached to it.
-preferred
-
-
-[]GameServerSelector
-
-
- |
-
- Deprecated: use field Selectors instead. If Selectors is set, this field is ignored.
-Preferred is an ordered list of preferred GameServer selectors
-that are optional to be fulfilled, but will be searched before the |
+Field | +Description |
---|---|---|---|
-priorities
+labels
-
-[]Priority
-
+map[string]string
|
(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first. - |
-||
-selectors
-
-
-[]GameServerSelector
-
-
- |
-
- Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set. +Labels to be applied to the |
||
-scheduling
+annotations
-agones.dev/agones/pkg/apis.SchedulingStrategy
+map[string]string
|
- Scheduling strategy. Defaults to “Packed”. +(Optional) +Annotations to be applied to the |
+(Appears on: +GameServerSpec, +GameServerStatus) +
++
CounterStatus stores the current counter values and maximum capacity
+ +
-metadata
-
-
-MetaPatch
-
-
- |
-
- MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data - |
+Field | +Description |
---|---|---|---|
-counters
+count
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
-
+int64
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Counter actions to perform during allocation. |
||
-lists
+capacity
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
-
+int64
|
-(Optional)
- (Alpha, CountsAndLists feature flag) List actions to perform during allocation. |
string
alias)-(Appears on: -GameServerAllocationStatus) -
--
GameServerAllocationState is the Allocation state
- -(Appears on: -GameServerAllocation) +GameServerSpec, +GameServerStatus)
-
GameServerAllocationStatus is the status for an GameServerAllocation resource
+Eviction specifies the eviction tolerance of the GameServer
-state
+safe
-
-GameServerAllocationState
+
+EvictionSafe
|
- GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated +Game server supports termination via SIGTERM: +- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades +- OnUpgrade: Allow eviction for upgrades alone +- Never (default): Pod should run to completion |
string
alias)+(Appears on: +Eviction) +
++
EvictionSafe specified whether the game server supports termination via SIGTERM
+ ++(Appears on: +Fleet) +
++
FleetSpec is the spec for a Fleet
+ +
-gameServerName
-
-string
-
- |
-- | +Field | +Description |
---|---|---|---|
-ports
+replicas
-
-[]GameServerStatusPort
-
+int32
|
+ Replicas are the number of GameServers that should be in this set. Defaults to 0. |
||
-address
+allocationOverflow
-string
+
+AllocationOverflow
+
|
+(Optional)
+ [Stage: Beta]
+[FeatureFlag:FleetAllocationOverflow]
+Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more
+than the desired replicas on the underlying |
||
-addresses
+strategy
-
-[]Kubernetes core/v1.NodeAddress
+
+Kubernetes apps/v1.DeploymentStrategy
|
+ Deployment strategy |
||
-nodeName
+scheduling
-string
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
+ Scheduling strategy. Defaults to “Packed”. |
||
-source
+priorities
-string
+
+[]Priority
+
|
- If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator. -Otherwise, Source is “local” +(Optional) +[Stage: Alpha]
+[FeatureFlag:CountsAndLists]
+ Priority of sorting is in descending importance. I.e. The position 0 For For |
||
-metadata
+template
-
-GameServerMetadata
+
+GameServerTemplateSpec
|
+ Template the GameServer template to apply for this Fleet |
(Appears on: -GameServerAllocationStatus) +Fleet, +FleetAutoscaleRequest)
-
GameServerMetadata is the metadata from the allocated game server at allocation time
+FleetStatus is the status of a Fleet
-labels
+replicas
-map[string]string
+int32
|
+ Replicas the total number of current GameServer replicas |
-annotations
+readyReplicas
-map[string]string
+int32
|
+ ReadyReplicas are the number of Ready GameServer replicas |
-(Appears on: -GameServerAllocationSpec) -
--
GameServerSelector contains all the filter options for selecting -a GameServer for allocation.
- -Field | -Description | -
---|---|
-LabelSelector
+reservedReplicas
-
-Kubernetes meta/v1.LabelSelector
-
+int32
|
-
-(Members of See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ +ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. +Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up. |
-gameServerState
+allocatedReplicas
-
-GameServerState
-
+int32
|
- GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer -via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with -label/annotation/player selectors to retrieve an already Allocated GameServer. +AllocatedReplicas are the number of Allocated GameServer replicas |
players
-
-PlayerSelector
+
+AggregatedPlayerStatus
|
(Optional)
[Stage:Alpha] -[FeatureFlag:PlayerAllocationFilter] -Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer -through Allocation. Defaults to no limits. +[FeatureFlag:PlayerTracking] +Players are the current total player capacity and count for this Fleet |
counters
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values -for a Counter’s count and available capacity when retrieving a GameServer through Allocation. -Defaults to no limits. +(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this Fleet. |
lists
-
-map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
|
(Optional)
- (Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values -for List capacity, and for the existence of a value in a List, when retrieving a GameServer -through Allocation. Defaults to no limits. - |
-
-(Appears on: -GameServerAllocationSpec) -
--
ListAction is an optional action that can be performed on a List at allocation.
- -Field | -Description | -
---|---|
-addValues
-
-[]string
-
- |
-
-(Optional)
- AddValues appends values to a List’s Values array. Any duplicate values will be ignored. - |
-
-capacity
-
-int64
-
- |
-
-(Optional)
- Capacity updates the maximum capacity of the Counter to this number. Min 0, Max 1000. +(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values +for this Fleet. |
(Appears on: -GameServerSelector) +GameServerSpec)
--
ListSelector is the filter options for a GameServer based on List available capacity and/or the -existence of a value in a List.
++
GameServerPort defines a set of Ports that +are to be exposed via the GameServer
-containsValue
+name
string
|
-(Optional)
- ContainsValue says to only match GameServers who has this value in the list. Defaults to “”, which is all. +Name is the descriptive name of the port |
-minAvailable
+portPolicy
-int64
+
+PortPolicy
+
|
-(Optional)
- MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0. +PortPolicy defines the policy for how the HostPort is populated.
+Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller
+at installation time.
+When |
-maxAvailable
+container
-int64
+string
|
(Optional)
- MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which is translated as max(int64). +Container is the name of the container on which to open the port. Defaults to the game server container. |
-(Appears on: -GameServerAllocationSpec) -
--
MetaPatch is the metadata used to patch the GameServer metadata on allocation
- -Field | -Description | +
+containerPort
+
+int32
+
+ |
+
+ ContainerPort is the port that is being opened on the specified container’s process + |
---|---|---|---|
-labels
+hostPort
-map[string]string
+int32
|
+ HostPort the port exposed on the host for clients to connect to |
||
-annotations
+protocol
-map[string]string
+
+Kubernetes core/v1.Protocol
+
|
+ Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options. |
(Appears on: -GameServerAllocationSpec) +GameServerSet)
-
MultiClusterSetting specifies settings for multi-cluster allocation.
+GameServerSetSpec the specification for GameServerSet
-enabled
+replicas
-bool
+int32
|
+ Replicas are the number of GameServers that should be in this set |
-policySelector
+allocationOverflow
-
-Kubernetes meta/v1.LabelSelector
+
+AllocationOverflow
|
+(Optional)
+ [Stage: Beta]
+[FeatureFlag:FleetAllocationOverflow]
+Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
+the desired replicas on the underlying |
-(Appears on: -GameServerSelector) -
--
PlayerSelector is the filter options for a GameServer based on player counts
- -Field | -Description | +
+scheduling
+
+agones.dev/agones/pkg/apis.SchedulingStrategy
+
+ |
+
+ Scheduling strategy. Defaults to “Packed”. + |
---|---|---|---|
-minAvailable
+priorities
-int64
+
+[]Priority
+
|
+(Optional)
+ [Stage: Alpha]
+[FeatureFlag:CountsAndLists]
+ Priority of sorting is in descending importance. I.e. The position 0 For For |
||
-maxAvailable
+template
-int64
+
+GameServerTemplateSpec
+
|
+ Template the GameServer template to apply for this GameServerSet |
-
Package v1 is the v1 version of the API.
+(Appears on: +GameServerSet) -Resource Types: - --
FleetAutoscaler is the data structure for a FleetAutoscaler resource
+GameServerSetStatus is the status of a GameServerSet
-apiVersion
-string |
-
-
-autoscaling.agones.dev/v1
-
- |
-||||||
-kind
-string
- |
-FleetAutoscaler |
-||||||
-metadata
+replicas
-
-Kubernetes meta/v1.ObjectMeta
-
+int32
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+Replicas is the total number of current GameServer replicas |
||||||
-spec
-
-
-FleetAutoscalerSpec
-
-
- |
-
- - -
AllocatedReplicas is the number of Allocated GameServer replicas |
||||||
-status
+shutdownReplicas
-
-FleetAutoscalerStatus
-
+int32
|
+ ShutdownReplicas is the number of Shutdown GameServers replicas |
-(Appears on: -FleetAutoscalerPolicy) -
--
BufferPolicy controls the desired behavior of the buffer policy.
- -Field | -Description | -
---|---|
-maxReplicas
+players
-int32
+
+AggregatedPlayerStatus
+
|
- MaxReplicas is the maximum amount of replicas that the fleet may have. -It must be bigger than both MinReplicas and BufferSize +(Optional) +[Stage:Alpha] +[FeatureFlag:PlayerTracking] +Players is the current total player capacity and count for this GameServerSet |
-minReplicas
+counters
-int32
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
+
|
- MinReplicas is the minimum amount of replicas that the fleet must have -If zero, it is ignored. -If non zero, it must be smaller than MaxReplicas and bigger than BufferSize +(Optional) +(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this GameServerSet. |
-bufferSize
+lists
-k8s.io/apimachinery/pkg/util/intstr.IntOrString
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
+
|
- BufferSize defines how many replicas the autoscaler tries to have ready all the time -Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) -Absolute number is calculated from percentage by rounding up. -Example: when this is set to 20%, the autoscaler will make sure that 20% -of the fleet’s game server replicas are ready. When this is set to 20, -the autoscaler will make sure that there are 20 available game servers -Must be bigger than 0 -Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness -and computation stability in different edge case (fleet just created, not enough -capacity in the cluster etc) +(Optional) +(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values +for this GameServerSet. |
(Appears on: -FleetAutoscalerPolicy) +GameServer, +GameServerTemplateSpec)
-
CounterPolicy controls the desired behavior of the Counter autoscaler policy.
+GameServerSpec is the spec for a GameServer resource
-key
+container
string
|
- Key is the name of the Counter. Required field. +Container specifies which Pod container is the game server. Only required if there is more than one +container defined |
-maxCapacity
+ports
-int64
+
+[]GameServerPort
+
|
- MaxCapacity is the maximum aggregate Counter total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field. +Ports are the array of ports that can be exposed via the game server |
-minCapacity
+health
-int64
+
+Health
+
|
- MinCapacity is the minimum aggregate Counter total capacity across the fleet. -If zero, MinCapacity is ignored. -If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize. +Health configures health checking |
-bufferSize
+scheduling
-k8s.io/apimachinery/pkg/util/intstr.IntOrString
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
- BufferSize is the size of a buffer of counted items that are available in the Fleet (available -capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances -(ex: 5%). An absolute number is calculated from percentage by rounding up. -Must be bigger than 0. Required field. +Scheduling strategy. Defaults to “Packed” |
-(Appears on: -FleetAutoscalerSync) -
--
FixedIntervalSync controls the desired behavior of the fixed interval based sync.
- -Field | -Description | -
---|---|
-seconds
+sdkServer
-int32
+
+SdkServer
+
|
- Seconds defines how often we run fleet autoscaling in seconds +SdkServer specifies parameters for the Agones SDK Server sidecar container |
-(Appears on: -FleetAutoscaleReview) -
--
FleetAutoscaleRequest defines the request to webhook autoscaler endpoint
- -Field | -Description | +
+template
+
+
+Kubernetes core/v1.PodTemplateSpec
+
+
+ |
+
+ Template describes the Pod that will be created for the GameServer + |
---|---|---|---|
-uid
+players
-k8s.io/apimachinery/pkg/types.UID
+
+PlayersSpec
+
|
- UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are -otherwise identical (parallel requests, requests when earlier requests did not modify etc) -The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. -It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. +(Optional) +(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. |
||
-name
+counters
-string
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
|
- Name is the name of the Fleet being scaled +(Optional) +(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time. |
||
-namespace
+lists
-string
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
+
|
- Namespace is the namespace associated with the request (if any). +(Optional) +(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time. |
||
-status
+eviction
-
-FleetStatus
+
+Eviction
|
- The Fleet’s status values +(Optional) +Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. |
string
alias)+(Appears on: +GameServerSelector, +GameServerStatus) +
++
GameServerState is the state for the GameServer
+ +(Appears on: -FleetAutoscaleReview) +GameServer)
-
FleetAutoscaleResponse defines the response of webhook autoscaler endpoint
+GameServerStatus is the status for a GameServer resource
-uid
+state
-k8s.io/apimachinery/pkg/types.UID
+
+GameServerState
+
|
- UID is an identifier for the individual request/response. -This should be copied over from the corresponding FleetAutoscaleRequest. +GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc |
-scale
+ports
-bool
+
+[]GameServerStatusPort
+
|
- Set to false if no scaling should occur to the Fleet |
-replicas
+address
-int32
+string
|
- The targeted replica count |
-
FleetAutoscaleReview is passed to the webhook with a populated Request value, -and then returned with a populated Response.
- -Field | -Description | -
---|---|
-request
+addresses
-
-FleetAutoscaleRequest
+
+[]Kubernetes core/v1.NodeAddress
|
+(Optional)
+ Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses. |
-response
+nodeName
-
-FleetAutoscaleResponse
-
+string
|
-(Appears on: -FleetAutoscalerSpec) -
--
FleetAutoscalerPolicy describes how to scale a fleet
- -Field | -Description | -
---|---|
-type
+reservedUntil
-
-FleetAutoscalerPolicyType
+
+Kubernetes meta/v1.Time
|
- Type of autoscaling policy. |
-buffer
+players
-
-BufferPolicy
+
+PlayerStatus
|
(Optional)
- Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer. +[Stage:Alpha] +[FeatureFlag:PlayerTracking] |
-webhook
+counters
-
-WebhookPolicy
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
|
(Optional)
- Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook. +(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features. |
-counter
+lists
-
-CounterPolicy
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
|
(Optional)
- [Stage:Alpha] -[FeatureFlag:CountsAndLists] -Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter. |
-list
+eviction
-
-ListPolicy
+
+Eviction
|
(Optional)
- [Stage:Alpha] -[FeatureFlag:CountsAndLists] -List policy config params. Present only if FleetAutoscalerPolicyType = List. +Eviction specifies the eviction tolerance of the GameServer. |
string
alias)-(Appears on: -FleetAutoscalerPolicy) -
--
FleetAutoscalerPolicyType is the policy for autoscaling -for a given Fleet
- -(Appears on: -FleetAutoscaler) +GameServerAllocationStatus, +GameServerStatus)
-
FleetAutoscalerSpec is the spec for a Fleet Scaler
+GameServerStatusPort shows the port that was allocated to a +GameServer.
-fleetName
+name
string
@@ -5865,41 +6040,25 @@ FleetAutoscalerSpec | |
-policy
-
-
-FleetAutoscalerPolicy
-
-
- |
-
- Autoscaling policy - |
-
-sync
+port
-
-FleetAutoscalerSync
-
+int32
|
-(Optional)
- Sync defines when FleetAutoscalers runs autoscaling |
(Appears on: -FleetAutoscaler) +FleetSpec, +GameServerSetSpec)
-
FleetAutoscalerStatus defines the current status of a FleetAutoscaler
+GameServerTemplateSpec is a template for GameServers
-currentReplicas
-
-int32
-
- |
-
- CurrentReplicas is the current number of gameserver replicas -of the fleet managed by this autoscaler, as last seen by the autoscaler - |
-
-desiredReplicas
-
-int32
-
- |
-
- DesiredReplicas is the desired number of gameserver replicas -of the fleet managed by this autoscaler, as last calculated by the autoscaler - |
-
-lastScaleTime
+metadata
-
-Kubernetes meta/v1.Time
+
+Kubernetes meta/v1.ObjectMeta
|
-(Optional)
- lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet, +Refer to the Kubernetes API documentation for the fields of the +metadata field.
|
-ableToScale
+spec
-bool
+
+GameServerSpec
+
|
- AbleToScale indicates that we can access the target fleet - |
-
-scalingLimited
+container
-bool
+string
|
- ScalingLimited indicates that the calculated scale would be above or below the range -defined by MinReplicas and MaxReplicas, and has thus been capped. +Container specifies which Pod container is the game server. Only required if there is more than one +container defined |
-(Appears on: -FleetAutoscalerSpec) -
--
FleetAutoscalerSync describes when to sync a fleet
- -Field | -Description | -
---|---|
-type
+ports
-
-FleetAutoscalerSyncType
+
+[]GameServerPort
|
- Type of autoscaling sync. +Ports are the array of ports that can be exposed via the game server |
-fixedInterval
+health
-
-FixedIntervalSync
+
+Health
|
-(Optional)
- FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval. +Health configures health checking |
string
alias)-(Appears on: -FleetAutoscalerSync) -
--
FleetAutoscalerSyncType is the sync strategy for a given Fleet
- --(Appears on: -FleetAutoscalerPolicy) -
--
ListPolicy controls the desired behavior of the List autoscaler policy.
- -Field | -Description | -
---|---|
-key
+scheduling
-string
+agones.dev/agones/pkg/apis.SchedulingStrategy
|
- Key is the name of the List. Required field. +Scheduling strategy. Defaults to “Packed” |
-maxCapacity
+sdkServer
-int64
+
+SdkServer
+
|
- MaxCapacity is the maximum aggregate List total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field. +SdkServer specifies parameters for the Agones SDK Server sidecar container |
-minCapacity
+template
-int64
+
+Kubernetes core/v1.PodTemplateSpec
+
|
- MinCapacity is the minimum aggregate List total capacity across the fleet. -If zero, it is ignored. -If non zero, it must be smaller than MaxCapacity and bigger than BufferSize. +Template describes the Pod that will be created for the GameServer |
-bufferSize
+players
-k8s.io/apimachinery/pkg/util/intstr.IntOrString
+
+PlayersSpec
+
|
- BufferSize is the size of a buffer based on the List capacity that is available over the -current aggregate List length in the Fleet (available capacity). It can be specified either -as an absolute value (i.e. 5) or percentage format (i.e. 5%). -Must be bigger than 0. Required field. +(Optional) +(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. |
-(Appears on: -FleetAutoscalerPolicy) -
--
WebhookPolicy controls the desired behavior of the webhook policy. -It contains the description of the webhook autoscaler service -used to form url which is accessible inside the cluster
- -Field | -Description | -
---|---|
-url
+counters
-string
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
|
(Optional)
-
The Please note that using The scheme must be “https”; the URL must begin with “https://”. -A path is optional, and if present may be any string permissible in -a URL. You may use the path to pass an arbitrary string to the -webhook, for example, a cluster identifier. -Attempting to use a user or basic auth e.g. “user:password@” is not -allowed. Fragments (“#…”) and query parameters (“?…”) are not -allowed, either. +(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time. |
-service
+lists
-
-Kubernetes admissionregistration/v1.ServiceReference
+
+map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
|
(Optional)
-
If the webhook is running within the cluster, then you should use (Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time. |
-caBundle
+eviction
-[]byte
+
+Eviction
+
|
(Optional)
-
Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. + |
+
-
Package v1 is the v1 version of the API.
+(Appears on: +GameServerSpec) -Resource Types: - --
GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API
+Health configures health checking on the GameServer
-apiVersion
-string |
-
-
-multicluster.agones.dev/v1
-
- |
-||||||
-kind
-string
- |
-GameServerAllocationPolicy |
-||||||
-metadata
+disabled
-
-Kubernetes meta/v1.ObjectMeta
-
+bool
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+Disabled is whether health checking is disabled or not |
||||||
-spec
-
-
-GameServerAllocationPolicySpec
-
-
- |
-
- - -
InitialDelaySeconds initial delay before checking health |
(Appears on: -GameServerAllocationPolicySpec) +GameServerSpec, +GameServerStatus)
-
ClusterConnectionInfo defines the connection information for a cluster
+ListStatus stores the current list values and maximum capacity
-clusterName
+capacity
-string
+int64
|
- Optional: the name of the targeted cluster |
-allocationEndpoints
+values
[]string
|
- The endpoints for the allocator service in the targeted cluster. -If the AllocationEndpoints is not set, the allocation happens on local cluster. -If there are multiple endpoints any of the endpoints that can handle allocation request should suffice |
+(Appears on: +GameServerStatus) +
++
PlayerStatus stores the current player capacity values
+ +Field | +Description | +
---|---|
-secretName
+count
-string
+int64
|
- The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster |
-namespace
+capacity
-string
+int64
|
- The cluster namespace from which to allocate gameservers |
-serverCa
+ids
-[]byte
+[]string
|
- The PEM encoded server CA, used by the allocator client to authenticate the remote server. |
-
ConnectionInfoIterator an iterator on ClusterConnectionInfo
+(Appears on: +GameServerSpec) + ++
PlayersSpec tracks the initial player capacity
-currPriority
+initialCapacity
-int
+int64
|
- currPriority Current priority index from the orderedPriorities |
string
alias)+(Appears on: +GameServerPort) +
++
PortPolicy is the port policy for the GameServer
+ ++(Appears on: +FleetSpec, +GameServerAllocationSpec, +GameServerSetSpec) +
++
Priority is a sorting option for GameServers with Counters or Lists based on the available capacity, +i.e. the current Capacity value, minus either the Count value or List length.
+ +Field | +Description | +
---|---|
-orderedPriorities
+type
-[]int32
+string
|
- orderedPriorities list of ordered priorities +Type: Sort by a “Counter” or a “List”. |
-priorityToCluster
+key
-map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
+string
|
- priorityToCluster Map of priority to cluster-policies map +Key: The name of the Counter or List. If not found on the GameServer, has no impact. |
-clusterBlackList
+order
-map[string]bool
+string
|
- clusterBlackList the cluster blacklist for the clusters that has already returned +Order: Sort by “Ascending” or “Descending”. “Descending” a bigger available capacity is preferred. +“Ascending” would be smaller available capacity is preferred. |
(Appears on: -GameServerAllocationPolicy) +GameServerSpec)
-
GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy
+SdkServer specifies parameters for the Agones SDK Server sidecar container
-priority
+logLevel
-int32
+
+SdkServerLogLevel
+
|
+ LogLevel for SDK server (sidecar) logs. Defaults to “Info” |
-weight
+grpcPort
-int
+int32
|
+ GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections |
-connectionInfo
+httpPort
-
-ClusterConnectionInfo
-
+int32
|
+ HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections |
string
alias)+(Appears on: +SdkServer) +
++
SdkServerLogLevel is the log level for SDK server (sidecar) logs
+
Package v1 is the v1 version of the API.
Resource Types: --
Fleet is the data structure for a Fleet resource
+GameServerAllocation is the data structure for allocating against a set of
+GameServers, defined selectors
selectors
-agones.dev/v1
+allocation.agones.dev/v1
|
@@ -6507,7 +6580,7 @@ Fleet |
+GameServerAllocation |
||||||||||||||||
@@ -6527,8 +6600,8 @@ Fleet
spec
-
-FleetSpec
+
+GameServerAllocationSpec
Fleet
status
-
-FleetStatus
+
+GameServerAllocationStatus
|
-
GameServer is the data structure for a GameServer resource.
-It is worth noting that while there is a GameServerStatus
Status entry for the GameServer
, it is not
-defined as a subresource - unlike Fleet
and other Agones resources.
-This is so that we can retain the ability to change multiple aspects of a GameServer
in a single atomic operation,
-which is particularly useful for operations such as allocation.
+
CounterAction is an optional action that can be performed on a Counter at allocation.
-apiVersion
-string |
+
-
-agones.dev/v1
-
+(Optional)
+Action must to either “Increment” or “Decrement” the Counter’s Count. Must also define the Amount. |
|
-kind
-string
+amount
+
+int64
+
+ |
+
+(Optional)
+ Amount is the amount to increment or decrement the Count. Must be a positive integer. |
-GameServer |
-metadata
+capacity
-
-Kubernetes meta/v1.ObjectMeta
-
+int64
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+(Optional)
+Capacity is the amount to update the maximum capacity of the Counter to this number. Min 0, Max int64. + |
+
+(Appears on: +GameServerSelector) +
++
CounterSelector is the filter options for a GameServer based on the count and/or available capacity.
+ +Field | +Description | +||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+minCount
+
+int64
+
+ |
+
+(Optional)
+ MinCount is the minimum current value. Defaults to 0. |
||||||||||||||||||||||||
-spec
+maxCount
-
-GameServerSpec
-
+int64
|
- - -
GameServerAllocationSpec +++(Appears on: +GameServerAllocation) + ++ GameServerAllocationSpec is the spec for a GameServerAllocation + +
[Stage: Alpha] +[FeatureFlag:CountsAndLists] +Counter actions to perform during allocation. |
||||||||||||||||||||||||
-status
+lists
-
-GameServerStatus
+
+map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
|
+(Optional)
+ [Stage: Alpha] +[FeatureFlag:CountsAndLists] +List actions to perform during allocation. |
string
alias)+(Appears on: +GameServerAllocationStatus) +
++
GameServerAllocationState is the Allocation state
+ +-
GameServerSet is the data structure for a set of GameServers. -This matches philosophically with the relationship between -Deployments and ReplicaSets
+(Appears on: +GameServerAllocation) + ++
GameServerAllocationStatus is the status for an GameServerAllocation resource
-apiVersion
-string |
-
-
-agones.dev/v1
-
- |
-||||||||||
-kind
-string
- |
-GameServerSet |
-||||||||||
-metadata
+state
-
-Kubernetes meta/v1.ObjectMeta
+
+GameServerAllocationState
|
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
+GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated |
||||||||||
-spec
-
-
-GameServerSetSpec
-
-
- |
-
- - -
|
||||||||||
-status
+nodeName
-
-GameServerSetStatus
-
+string
|
-(Appears on: -FleetStatus, -GameServerSetStatus) -
--
AggregatedCounterStatus stores total and allocated Counter tracking values
- -Field | -Description | -
---|---|
-allocatedCount
+source
-int64
+string
|
+ If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator. +Otherwise, Source is “local” |
-allocatedCapacity
+metadata
-int64
+
+GameServerMetadata
+
|
+(Appears on: +GameServerAllocationStatus) +
++
GameServerMetadata is the metadata from the allocated game server at allocation time
+ +Field | +Description | +
---|---|
-count
+labels
-int64
+map[string]string
|
@@ -7041,9 +7197,9 @@ AggregatedCounterStatus |
-capacity
+annotations
-int64
+map[string]string
|
@@ -7051,15 +7207,15 @@ AggregatedCounterStatus |
(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocationSpec)
-
AggregatedListStatus stores total and allocated List tracking values
+GameServerSelector contains all the filter options for selecting +a GameServer for allocation.
-allocatedCount
+LabelSelector
-int64
+
+Kubernetes meta/v1.LabelSelector
+
|
+
+(Members of See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
-allocatedCapacity
+gameServerState
-int64
+
+GameServerState
+
|
+ GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer +via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with +label/annotation/player selectors to retrieve an already Allocated GameServer. |
-count
+players
-int64
+
+PlayerSelector
+
+
+ |
+
+(Optional)
+ [Stage:Alpha] +[FeatureFlag:PlayerAllocationFilter] +Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer +through Allocation. Defaults to no limits. + |
+
+counters
+
+
+map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector
+
|
+(Optional)
+ [Stage: Alpha] +[FeatureFlag:CountsAndLists] +Counters provides filters on minimum and maximum values +for a Counter’s count and available capacity when retrieving a GameServer through Allocation. +Defaults to no limits. |
-capacity
+lists
-int64
+
+map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector
+
|
+(Optional)
+ [Stage: Alpha] +[FeatureFlag:CountsAndLists] +Lists provides filters on minimum and maximum values +for List capacity, and for the existence of a value in a List, when retrieving a GameServer +through Allocation. Defaults to no limits. |
(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocationSpec)
-
AggregatedPlayerStatus stores total player tracking values
+ListAction is an optional action that can be performed on a List at allocation.
-count
+addValues
-int64
+[]string
|
+(Optional)
+ AddValues appends values to a List’s Values array. Any duplicate values will be ignored. |
+(Optional)
+ Capacity updates the maximum capacity of the Counter to this number. Min 0, Max 1000. |
(Appears on: -FleetSpec, -GameServerSetSpec) +GameServerSelector)
-
AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers
-if the desired number of the underlying GameServerSet
drops below the number of Allocated GameServers
-attached to it.
ListSelector is the filter options for a GameServer based on List available capacity and/or the +existence of a value in a List.
-labels
+containsValue
-map[string]string
+string
|
(Optional)
- Labels to be applied to the ContainsValue says to only match GameServers who has this value in the list. Defaults to “”, which is all. |
-annotations
+minAvailable
-map[string]string
+int64
|
(Optional)
- Annotations to be applied to the MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0. + |
+
+maxAvailable
+
+int64
+
+ |
+
+(Optional)
+ MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which is translated as max(int64). |
(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationSpec)
-
CounterStatus stores the current counter values and maximum capacity
+MetaPatch is the metadata used to patch the GameServer metadata on allocation
-count
+labels
-int64
+map[string]string
|
@@ -7227,9 +7439,9 @@ CounterStatus |
-capacity
+annotations
-int64
+map[string]string
|
@@ -7237,15 +7449,14 @@ CounterStatus |
(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationSpec)
-
Eviction specifies the eviction tolerance of the GameServer
+MultiClusterSetting specifies settings for multi-cluster allocation.
-safe
+enabled
-
-EvictionSafe
+bool
+
+ |
++ | +
+policySelector
+
+
+Kubernetes meta/v1.LabelSelector
|
- Game server supports termination via SIGTERM: -- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades -- OnUpgrade: Allow eviction for upgrades alone -- Never (default): Pod should run to completion |
string
alias)-(Appears on: -Eviction) -
--
EvictionSafe specified whether the game server supports termination via SIGTERM
- -(Appears on: -Fleet) +GameServerSelector)
-
FleetSpec is the spec for a Fleet
+PlayerSelector is the filter options for a GameServer based on player counts
-replicas
-
-int32
-
- |
-
- Replicas are the number of GameServers that should be in this set. Defaults to 0. - |
-
-allocationOverflow
-
-
-AllocationOverflow
-
-
- |
-
-(Optional)
- [Stage: Beta]
-[FeatureFlag:FleetAllocationOverflow]
-Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more
-than the desired replicas on the underlying |
-
-strategy
-
-
-Kubernetes apps/v1.DeploymentStrategy
-
-
- |
-
- Deployment strategy - |
-
-scheduling
-
-agones.dev/agones/pkg/apis.SchedulingStrategy
-
- |
-
- Scheduling strategy. Defaults to “Packed”. - |
-
-priorities
-
-
-[]Priority
-
+minAvailable
+
+int64
|
-(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic. |
-template
+maxAvailable
-
-GameServerTemplateSpec
-
+int64
|
- Template the GameServer template to apply for this Fleet |
-(Appears on: -Fleet, -FleetAutoscaleRequest) +
Package v1 is the v1 version of the API.
+Resource Types: + +-
FleetStatus is the status of a Fleet
+FleetAutoscaler is the data structure for a FleetAutoscaler resource
-replicas
-
-int32
-
+apiVersion
+string |
+
+
+autoscaling.agones.dev/v1
+
|
+
- Replicas the total number of current GameServer replicas +kind
+string
|
+FleetAutoscaler |
-readyReplicas
+metadata
-int32
+
+Kubernetes meta/v1.ObjectMeta
+
|
- ReadyReplicas are the number of Ready GameServer replicas +Refer to the Kubernetes API documentation for the fields of the +metadata field.
|
-reservedReplicas
+spec
-int32
+
+FleetAutoscalerSpec
+
|
- ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. -Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up. - |
-
-allocatedReplicas
+fleetName
-int32
+string
|
- AllocatedReplicas are the number of Allocated GameServer replicas |
-players
+policy
-
-AggregatedPlayerStatus
+
+FleetAutoscalerPolicy
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players are the current total player capacity and count for this Fleet +Autoscaling policy |
-counters
+sync
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
+
+FleetAutoscalerSync
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this Fleet. +Sync defines when FleetAutoscalers runs autoscaling + |
+
lists
+status
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
+
+FleetAutoscalerStatus
(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values -for this Fleet.
(Appears on: -GameServerSpec) +FleetAutoscalerPolicy)
-
GameServerPort defines a set of Ports that -are to be exposed via the GameServer
+BufferPolicy controls the desired behavior of the buffer policy.
-name
-
-string
-
- |
-
- Name is the descriptive name of the port - |
-
-portPolicy
-
-
-PortPolicy
-
-
- |
-
- PortPolicy defines the policy for how the HostPort is populated.
-Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller
-at installation time.
-When |
-
-container
-
-string
-
- |
-
-(Optional)
- Container is the name of the container on which to open the port. Defaults to the game server container. - |
-
-containerPort
+maxReplicas
int32
|
- ContainerPort is the port that is being opened on the specified container’s process +MaxReplicas is the maximum amount of replicas that the fleet may have. +It must be bigger than both MinReplicas and BufferSize |
-hostPort
+minReplicas
int32
|
- HostPort the port exposed on the host for clients to connect to +MinReplicas is the minimum amount of replicas that the fleet must have +If zero, it is ignored. +If non zero, it must be smaller than MaxReplicas and bigger than BufferSize |
-protocol
+bufferSize
-
-Kubernetes core/v1.Protocol
-
+k8s.io/apimachinery/pkg/util/intstr.IntOrString
|
- Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options. +BufferSize defines how many replicas the autoscaler tries to have ready all the time +Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) +Absolute number is calculated from percentage by rounding up. +Example: when this is set to 20%, the autoscaler will make sure that 20% +of the fleet’s game server replicas are ready. When this is set to 20, +the autoscaler will make sure that there are 20 available game servers +Must be bigger than 0 +Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness +and computation stability in different edge case (fleet just created, not enough +capacity in the cluster etc) |
(Appears on: -GameServerSet) +FleetAutoscalerPolicy)
-
GameServerSetSpec the specification for GameServerSet
+CounterPolicy controls the desired behavior of the Counter autoscaler policy.
-replicas
+key
-int32
+string
|
- Replicas are the number of GameServers that should be in this set +Key is the name of the Counter. Required field. |
-allocationOverflow
+maxCapacity
-
-AllocationOverflow
-
+int64
|
-(Optional)
- [Stage: Beta]
-[FeatureFlag:FleetAllocationOverflow]
-Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
-the desired replicas on the underlying MaxCapacity is the maximum aggregate Counter available capacity across the fleet. +MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field. |
-scheduling
+minCapacity
-agones.dev/agones/pkg/apis.SchedulingStrategy
+int64
|
- Scheduling strategy. Defaults to “Packed”. +MinCapacity is the minimum aggregate Counter available capacity across the fleet. +If zero, MinCapacity is ignored. +If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize. |
-priorities
+bufferSize
-
-[]Priority
-
+k8s.io/apimachinery/pkg/util/intstr.IntOrString
|
-(Optional)
- (Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic. +BufferSize is the size of a buffer of counted items that are available in the Fleet (available +capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances +(ex: 5%). An absolute number is calculated from percentage by rounding up. +Must be bigger than 0. Required field. |
+(Appears on: +FleetAutoscalerSync) +
++
FixedIntervalSync controls the desired behavior of the fixed interval based sync.
+ +Field | +Description | +
---|---|
-template
+seconds
-
-GameServerTemplateSpec
-
+int32
|
- Template the GameServer template to apply for this GameServerSet +Seconds defines how often we run fleet autoscaling in seconds |
(Appears on: -GameServerSet) +FleetAutoscaleReview)
-
GameServerSetStatus is the status of a GameServerSet
+FleetAutoscaleRequest defines the request to webhook autoscaler endpoint
-replicas
+uid
-int32
+k8s.io/apimachinery/pkg/types.UID
|
- Replicas is the total number of current GameServer replicas +UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are +otherwise identical (parallel requests, requests when earlier requests did not modify etc) +The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. +It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. |
-readyReplicas
+name
-int32
+string
|
- ReadyReplicas is the number of Ready GameServer replicas +Name is the name of the Fleet being scaled |
-reservedReplicas
+namespace
-int32
+string
|
- ReservedReplicas is the number of Reserved GameServer replicas +Namespace is the namespace associated with the request (if any). |
-allocatedReplicas
+status
-int32
+
+FleetStatus
+
|
- AllocatedReplicas is the number of Allocated GameServer replicas +The Fleet’s status values |
+(Appears on: +FleetAutoscaleReview) +
++
FleetAutoscaleResponse defines the response of webhook autoscaler endpoint
+ +
-shutdownReplicas
-
-int32
-
- |
-
- ShutdownReplicas is the number of Shutdown GameServers replicas - |
+Field | +Description |
---|---|---|---|
-players
+uid
-
-AggregatedPlayerStatus
-
+k8s.io/apimachinery/pkg/types.UID
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players is the current total player capacity and count for this GameServerSet +UID is an identifier for the individual request/response. +This should be copied over from the corresponding FleetAutoscaleRequest. |
||
-counters
+scale
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
-
+bool
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this GameServerSet. +Set to false if no scaling should occur to the Fleet |
||
-lists
+replicas
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
-
+int32
|
-(Optional)
- (Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values -for this GameServerSet. +The targeted replica count |
-(Appears on: -GameServer, -GameServerTemplateSpec) -
--
GameServerSpec is the spec for a GameServer resource
+FleetAutoscaleReview is passed to the webhook with a populated Request value, +and then returned with a populated Response.
-container
-
-string
-
- |
-
- Container specifies which Pod container is the game server. Only required if there is more than one -container defined - |
-
-ports
+request
-
-[]GameServerPort
+
+FleetAutoscaleRequest
|
- Ports are the array of ports that can be exposed via the game server |
-health
+response
-
-Health
+
+FleetAutoscaleResponse
|
- Health configures health checking - |
-
-scheduling
-
-agones.dev/agones/pkg/apis.SchedulingStrategy
-
- |
-
- Scheduling strategy. Defaults to “Packed” |
+(Appears on: +FleetAutoscalerSpec) +
++
FleetAutoscalerPolicy describes how to scale a fleet
+ +
-sdkServer
-
-
-SdkServer
-
-
- |
-
- SdkServer specifies parameters for the Agones SDK Server sidecar container - |
+Field | +Description |
---|---|---|---|
-template
+type
-
-Kubernetes core/v1.PodTemplateSpec
+
+FleetAutoscalerPolicyType
|
- Template describes the Pod that will be created for the GameServer +Type of autoscaling policy. |
||
-players
+buffer
-
-PlayersSpec
+
+BufferPolicy
|
(Optional)
- (Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features. +Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer. |
||
-counters
+webhook
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
+WebhookPolicy
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. -Keys must be declared at GameServer creation time. +Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook. |
||
-lists
+counter
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
+
+CounterPolicy
|
(Optional)
- (Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. -Keys must be declared at GameServer creation time. +[Stage:Alpha] +[FeatureFlag:CountsAndLists] +Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter. |
||
-eviction
+list
-
-Eviction
+
+ListPolicy
|
(Optional)
- Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”. +[Stage:Alpha] +[FeatureFlag:CountsAndLists] +List policy config params. Present only if FleetAutoscalerPolicyType = List. |
string
alias)(Appears on: -GameServerSelector, -GameServerStatus) +FleetAutoscalerPolicy)
-
GameServerState is the state for the GameServer
+FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet
-(Appears on: -GameServer) +FleetAutoscaler)
-
GameServerStatus is the status for a GameServer resource
+FleetAutoscalerSpec is the spec for a Fleet Scaler
Field | -Description | -
---|---|
-state
-
-
-GameServerState
-
-
- |
-
- GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc - |
-
-ports
-
-
-[]GameServerStatusPort
-
-
- |
-- | +
Field | +Description |
-address
+fleetName
string
@@ -8014,108 +8104,121 @@ GameServerStatus | |
-addresses
+policy
-
-[]Kubernetes core/v1.NodeAddress
+
+FleetAutoscalerPolicy
|
-(Optional)
- Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses. +Autoscaling policy |
-nodeName
+sync
-string
+
+FleetAutoscalerSync
+
|
+(Optional)
+ Sync defines when FleetAutoscalers runs autoscaling |
+(Appears on: +FleetAutoscaler) +
++
FleetAutoscalerStatus defines the current status of a FleetAutoscaler
+ +Field | +Description | +
---|---|
-reservedUntil
+currentReplicas
-
-Kubernetes meta/v1.Time
-
+int32
|
+ CurrentReplicas is the current number of gameserver replicas +of the fleet managed by this autoscaler, as last seen by the autoscaler |
-players
+desiredReplicas
-
-PlayerStatus
-
+int32
|
-(Optional)
- [Stage:Alpha] -[FeatureFlag:PlayerTracking] +DesiredReplicas is the desired number of gameserver replicas +of the fleet managed by this autoscaler, as last calculated by the autoscaler |
-counters
+lastScaleTime
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
+
+Kubernetes meta/v1.Time
|
(Optional)
- (Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features. +lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet, |
-lists
+ableToScale
-
-map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
-
+bool
|
-(Optional)
+ AbleToScale indicates that we can access the target fleet |
-eviction
+scalingLimited
-
-Eviction
-
+bool
|
-(Optional)
- Eviction specifies the eviction tolerance of the GameServer. +ScalingLimited indicates that the calculated scale would be above or below the range +defined by MinReplicas and MaxReplicas, and has thus been capped. |
(Appears on: -GameServerAllocationStatus, -GameServerStatus) +FleetAutoscalerSpec)
-
GameServerStatusPort shows the port that was allocated to a -GameServer.
+FleetAutoscalerSync describes when to sync a fleet
-name
+type
-string
+
+FleetAutoscalerSyncType
+
|
+ Type of autoscaling sync. |
-port
+fixedInterval
-int32
+
+FixedIntervalSync
+
|
+(Optional)
+ FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval. |
string
alias)+(Appears on: +FleetAutoscalerSync) +
++
FleetAutoscalerSyncType is the sync strategy for a given Fleet
+ +(Appears on: -FleetSpec, -GameServerSetSpec) +FleetAutoscalerPolicy)
-
GameServerTemplateSpec is a template for GameServers
+ListPolicy controls the desired behavior of the List autoscaler policy.
-metadata
-
-
-Kubernetes meta/v1.ObjectMeta
-
-
- |
-
-Refer to the Kubernetes API documentation for the fields of the
-metadata field.
- |
-||||||||||||||||||||||
-spec
-
-
-GameServerSpec
-
-
- |
-
- - -
WebhookPolicy +++(Appears on: +FleetAutoscalerPolicy) + ++ WebhookPolicy controls the desired behavior of the webhook policy. +It contains the description of the webhook autoscaler service +used to form url which is accessible inside the cluster + +
|
-(Appears on: -GameServerSpec) +
Package v1 is the v1 version of the API.
+Resource Types: + +-
Health configures health checking on the GameServer
+GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API
-disabled
+apiVersion
+string |
+
+
+multicluster.agones.dev/v1
+
+ |
+||||||
+kind
+string
+ |
+GameServerAllocationPolicy |
+||||||
+metadata
-bool
+
+Kubernetes meta/v1.ObjectMeta
+
|
- Disabled is whether health checking is disabled or not +Refer to the Kubernetes API documentation for the fields of the +metadata field.
|
||||||
-periodSeconds
+spec
+
+
+GameServerAllocationPolicySpec
+
+
+ |
+
+ + +
|
(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationPolicySpec)
-
ListStatus stores the current list values and maximum capacity
+ClusterConnectionInfo defines the connection information for a cluster
-capacity
+clusterName
-int64
+string
|
+ Optional: the name of the targeted cluster |
-values
+allocationEndpoints
[]string
|
+ The endpoints for the allocator service in the targeted cluster. +If the AllocationEndpoints is not set, the allocation happens on local cluster. +If there are multiple endpoints any of the endpoints that can handle allocation request should suffice |
-(Appears on: -GameServerStatus) -
--
PlayerStatus stores the current player capacity values
- -Field | -Description | -
---|---|
-count
+secretName
-int64
+string
|
+ The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster |
-capacity
+namespace
-int64
+string
|
+ The cluster namespace from which to allocate gameservers |
-ids
+serverCa
-[]string
+[]byte
|
+ The PEM encoded server CA, used by the allocator client to authenticate the remote server. |
-(Appears on: -GameServerSpec) -
--
PlayersSpec tracks the initial player capacity
+ConnectionInfoIterator an iterator on ClusterConnectionInfo
-initialCapacity
+currPriority
-int64
+int
|
+ currPriority Current priority index from the orderedPriorities |
string
alias)-(Appears on: -GameServerPort) -
--
PortPolicy is the port policy for the GameServer
- --(Appears on: -FleetSpec, -GameServerAllocationSpec, -GameServerSetSpec) -
--
Priority is a sorting option for GameServers with Counters or Lists based on the Capacity.
- -Field | -Description | -
---|---|
-type
+orderedPriorities
-string
+[]int32
|
- Type: Sort by a “Counter” or a “List”. +orderedPriorities list of ordered priorities |
-key
+priorityToCluster
-string
+map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
|
- Key: The name of the Counter or List. If not found on the GameServer, has no impact. +priorityToCluster Map of priority to cluster-policies map |
-order
+clusterBlackList
-string
+map[string]bool
|
- Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. -“Ascending” would be smaller Capacity is preferred. +clusterBlackList the cluster blacklist for the clusters that has already returned |
(Appears on: -GameServerSpec) +GameServerAllocationPolicy)
-
SdkServer specifies parameters for the Agones SDK Server sidecar container
+GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy
-logLevel
+priority
-
-SdkServerLogLevel
-
+int32
|
- LogLevel for SDK server (sidecar) logs. Defaults to “Info” |
-grpcPort
+weight
-int32
+int
|
- GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections |
-httpPort
+connectionInfo
-int32
+
+ClusterConnectionInfo
+
|
- HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections |
string
alias)-(Appears on: -SdkServer) -
--
SdkServerLogLevel is the log level for SDK server (sidecar) logs
-
Generated with gen-crd-api-reference-docs
.
diff --git a/site/content/en/docs/Reference/fleet.md b/site/content/en/docs/Reference/fleet.md
index 87c0cd9601..08edf93419 100644
--- a/site/content/en/docs/Reference/fleet.md
+++ b/site/content/en/docs/Reference/fleet.md
@@ -57,14 +57,14 @@ spec:
#
# [Stage:Alpha]
# [FeatureFlag:CountsAndLists]
- # Which gameservers in the Fleet are most important to keep around - impacts scale down logic.
+ # Which `GameServers` in the Fleet are most important to keep around - impacts scale down logic.
# priorities:
# - type: Counter # Sort by a “Counter”
# key: player # The name of the Counter. No impact if no GameServer found.
- # order: Descending # Default is "Ascending" so smaller capacity will be removed first on down scaling.
+ # order: Descending # Default is "Ascending" so smaller available capacity will be removed first on down scaling.
# - type: List # Sort by a “List”
# key: room # The name of the List. No impact if no GameServer found.
- # order: Ascending # Default is "Ascending" so smaller capacity will be removed first on down scaling.
+ # order: Ascending # Default is "Ascending" so smaller available capacity will be removed first on down scaling.
#
template:
# GameServer metadata
@@ -129,10 +129,11 @@ The `spec` field is the actual `Fleet` specification and it is composed as follo
- `Fleet's Scheduling Strategy`: The GameServers associated with the GameServerSet are sorted based on either `Packed` or `Distributed` strategy.
- `Packed`: Agones maximizes resource utilization by trying to populate nodes that are already in use before allocating GameServers to other nodes.
- `Distributed`: Agones employs this strategy to spread out GameServer allocations, ensuring an even distribution of GameServers across the available nodes.
-- `priorities`: (Alpha, requires `CountsAndLists` feature flag): Defines which gameservers in the Fleet are most important to keep around - impacts scale down logic.
+- `priorities`: (Alpha, requires `CountsAndLists` feature flag): Defines which `GameServers` in the Fleet are most
+ important to keep around - impacts scale down logic.
- `type`: Sort by a "Counter" or a "List".
- `key`: The name of the Counter or List. If not found on the GameServer, has no impact.
- - `order`: Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. “Ascending” would be smaller Capacity is preferred.
+ - `order`: Order: Sort by “Ascending” or “Descending”. “Descending” a bigger available capacity is preferred. “Ascending” would be smaller available capacity is preferred.
- `template` a full `GameServer` configuration template.
See the [GameServer]({{< relref "gameserver.md" >}}) reference for all available fields.
diff --git a/site/content/en/docs/Reference/fleetautoscaler.md b/site/content/en/docs/Reference/fleetautoscaler.md
index 8bec87e42e..1cded0af82 100644
--- a/site/content/en/docs/Reference/fleetautoscaler.md
+++ b/site/content/en/docs/Reference/fleetautoscaler.md
@@ -57,7 +57,7 @@ spec:
## Counter and List Autoscaling
A Counter based autoscaler can be used to autoscale `GameServers` based on a Count and Capacity set on each of the
-GameServers in a Fleet to ensure there is always a buffer of total capacity available.
+GameServers in a Fleet to ensure there is always a buffer of available capacity available.
For example, if you have a game server that can support 10 rooms, and you want to ensure that there are always at least
5 rooms available, you could use a counter-based autoscaler with a buffer size of 5. The autoscaler would then scale the
@@ -77,22 +77,22 @@ spec:
type: Counter # Counter based autoscaling
counter:
# Key is the name of the Counter. Required field.
- key: players
+ key: rooms
# BufferSize is the size of a buffer of counted items that are available in the Fleet (available capacity).
# Value can be an absolute number (ex: 5) or a percentage of the Counter available capacity (ex: 5%).
# An absolute number is calculated from percentage by rounding up. Must be bigger than 0. Required field.
bufferSize: 5
- # MinCapacity is the minimum aggregate Counter total capacity across the fleet.
+ # MinCapacity is the minimum aggregate Counter available capacity across the fleet.
# If BufferSize is specified as a percentage, MinCapacity is required and cannot be 0.
# If non zero, MinCapacity must be smaller than MaxCapacity and must be greater than or equal to BufferSize.
minCapacity: 10
- # MaxCapacity is the maximum aggregate Counter total capacity across the fleet.
+ # MaxCapacity is the maximum aggregate Counter available capacity across the fleet.
# MaxCapacity must be greater than or equal to both MinCapacity and BufferSize. Required field.
maxCapacity: 100
```
A List based autoscaler can be used to autoscale `GameServers` based on the List length and Capacity set on each of the
-GameServers in a Fleet to ensure there is always a buffer of total capacity available.
+GameServers in a Fleet to ensure there is always a buffer of available capacity available.
For example, if you have a game server that can support 10 players, and you want to ensure that there are always
room for at least 5 players across `GameServers` in a `Fleet`, you could use a list-based autoscaler with a buffer size
@@ -112,17 +112,17 @@ spec:
type: List # List based autoscaling.
list:
# Key is the name of the List. Required field.
- key: rooms
+ key: players
# BufferSize is the size of a buffer based on the List capacity that is available over the current
# aggregate List length in the Fleet (available capacity).
# It can be specified either as an absolute value (i.e. 5) or percentage format (i.e. 5%).
# Must be bigger than 0. Required field.
bufferSize: 5
- # MinCapacity is the minimum aggregate List total capacity across the fleet.
+ # MinCapacity is the minimum aggregate List available capacity across the fleet.
# If BufferSize is specified as a percentage, MinCapacity is required must be greater than 0.
# If non-zero, MinCapacity must be smaller than MaxCapacity and must be greater than or equal to BufferSize.
minCapacity: 10
- # MaxCapacity is the maximum aggregate List total capacity across the fleet.
+ # MaxCapacity is the maximum aggregate List available capacity across the fleet.
# MaxCapacity must be greater than or equal to both MinCapacity and BufferSize. Required field.
maxCapacity: 100
```
@@ -210,14 +210,14 @@ The `spec` field of the `FleetAutoscaler` is composed as follows:
- `counter` contains the settings for counter-based autoscaling:
- `key` is the name of the counter to use for scaling decisions.
- `bufferSize` is the size of a buffer of counted items that are available in the Fleet (available capacity). Value can be an absolute number or a percentage of desired game server instances. An absolute number is calculated from percentage by rounding up. Must be bigger than 0.
- - `minCapacity` is the minimum aggregate Counter total capacity across the fleet. If zero, MinCapacity is ignored. If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize.
- - `maxCapacity` is the maximum aggregate Counter total capacity across the fleet. It must be bigger than both MinCapacity and BufferSize.
+ - `minCapacity` is the minimum aggregate Counter available capacity across the fleet. If zero, MinCapacity is ignored. If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize.
+ - `maxCapacity` is the maximum aggregate Counter available capacity across the fleet. It must be bigger than both MinCapacity and BufferSize.
- `list` parameters of the list policy type
- `list` contains the settings for list-based autoscaling:
- `key` is the name of the list to use for scaling decisions.
- `bufferSize` is the size of a buffer based on the List capacity that is available over the current aggregate List length in the Fleet (available capacity). It can be specified either as an absolute value or percentage format.
- - `minCapacity` is the minimum aggregate List total capacity across the fleet. If zero, it is ignored. If non zero, it must be smaller than MaxCapacity and bigger than BufferSize.
- - `maxCapacity` is the maximum aggregate List total capacity across the fleet. It must be bigger than both MinCapacity and BufferSize. Required field.
+ - `minCapacity` is the minimum aggregate List available capacity across the fleet. If zero, it is ignored. If non zero, it must be smaller than MaxCapacity and bigger than BufferSize.
+ - `maxCapacity` is the maximum aggregate List available capacity across the fleet. It must be bigger than both MinCapacity and BufferSize. Required field.
- `sync` is autoscaling sync strategy. It defines when to run the autoscaling
- `type` is type of the sync. For now only "FixedInterval" is available
- `fixedInterval` parameters of the fixedInterval sync
diff --git a/site/content/en/docs/Reference/gameserverallocation.md b/site/content/en/docs/Reference/gameserverallocation.md
index 1142edd48e..c453dc7afa 100644
--- a/site/content/en/docs/Reference/gameserverallocation.md
+++ b/site/content/en/docs/Reference/gameserverallocation.md
@@ -80,31 +80,37 @@ spec:
mode: deathmatch
annotations:
map: garden22
- # [Stage:Alpha]
- # [FeatureFlag:CountsAndLists]
- # The first Priority on the array of Priorities is the most important for sorting. The allocator will
- # use the first priority for sorting GameServers by available Capacity in the Selector set. Acts as a
- # tie-breaker after sorting the game servers by State and Strategy Packed. Impacts which GameServer
- # is checked first. Optional.
- # priorities:
- # - type: List # Whether a Counter or a List.
- # key: rooms # The name of the Counter or List.
- # order: Ascending # "Ascending" lists smaller available capacity first.
- # [Stage:Alpha]
- # [FeatureFlag:CountsAndLists]
- # Counter actions to perform during allocation. Optional.
- # counters:
- # rooms:
- # action: increment # Either "Increment" or "Decrement" the Counter’s Count.
- # amount: 1 # Amount is the amount to increment or decrement the Count. Must be a positive integer.
- # capacity: 5 # Amount to update the maximum capacity of the Counter to this number. Min 0, Max int64.
- # List actions to perform during allocation. Optional.
- # lists:
- # players:
- # addValues: # appends values to a List’s Values array. Any duplicate values will be ignored
- # - x7un
- # - 8inz
- # capacity: 40 # Updates the maximum capacity of the Counter to this number. Min 0, Max 1000.
+ # [Stage: Alpha]
+ # [FeatureFlag:CountsAndLists]
+ # `Priorities` configuration alters the order in which `GameServers` are searched for matches to the configured `selectors`.
+ #
+ # Priority of sorting is in descending importance. I.e. The position 0 `priority` entry is checked first.
+ #
+ # For `Packed` strategy sorting, this priority list will be the tie-breaker within the least utilised infrastructure, to ensure optimal
+ # infrastructure usage while also allowing some custom prioritisation of `GameServers`.
+ #
+ # For `Distributed` strategy sorting, the entire selection of `GameServers` will be sorted by this priority list to provide the
+ # order that `GameServers` will be allocated by.
+ # Optional.
+ # priorities:
+ # - type: Counter # Whether a Counter or a List.
+ # key: rooms # The name of the Counter or List.
+ # order: Ascending # "Ascending" lists smaller available capacity first.
+ # [Stage: Alpha]
+ # [FeatureFlag:CountsAndLists]
+ # Counter actions to perform during allocation. Optional.
+ # counters:
+ # rooms:
+ # action: Increment # Either "Increment" or "Decrement" the Counter’s Count.
+ # amount: 1 # Amount is the amount to increment or decrement the Count. Must be a positive integer.
+ # capacity: 5 # Amount to update the maximum capacity of the Counter to this number. Min 0, Max int64.
+ # List actions to perform during allocation. Optional.
+ # lists:
+ # players:
+ # addValues: # appends values to a List’s Values array. Any duplicate values will be ignored
+ # - x7un
+ # - 8inz
+ # capacity: 40 # Updates the maximum capacity of the Counter to this number. Min 0, Max 1000.
{{< /tab >}}
{{< tab header="required & preferred (deprecated)" lang="yaml" >}}
apiVersion: "allocation.agones.dev/v1"
@@ -199,8 +205,7 @@ The `spec` field is the actual `GameServerAllocation` specification, and it is c
cluster. See [Scheduling and Autoscaling]({{< ref "/docs/Advanced/scheduling-and-autoscaling.md" >}}) for more details.
- `metadata` is an optional list of custom labels and/or annotations that will be used to patch
the game server's metadata in the moment of allocation. This can be used to tell the server necessary session data
-- `priorities` (Alpha, requires `CountsAndLists` feature flag) manages counters and lists for game servers, setting limits on
- room counts and player inclusion/exclusion.
+- `priorities` (Alpha, requires `CountsAndLists` feature flag) alters the priority by which game `GameServers` are allocated by available capacity.
- `counters` (Alpha, "CountsAndLists" feature flag) Counter actions to perform during allocation.
- `lists` (Alpha, "CountsAndLists" feature flag) List actions to perform during allocation.
diff --git a/test/e2e/fleetautoscaler_test.go b/test/e2e/fleetautoscaler_test.go
index 04b383f54f..c57a9152c6 100644
--- a/test/e2e/fleetautoscaler_test.go
+++ b/test/e2e/fleetautoscaler_test.go
@@ -845,7 +845,7 @@ func TestCounterAutoscaler(t *testing.T) {
fap.Counter = &autoscalingv1.CounterPolicy{
Key: "players",
BufferSize: intstr.FromInt(5), // Buffer refers to the available capacity (AggregateCapacity - AggregateCount)
- MinCapacity: 10, // Min and MaxCapacity refer to the total capacity aggregated across the fleet, NOT the available capacity
+ MinCapacity: 10, // Min and MaxCapacity refer to the available capacity aggregated across the fleet, NOT the available capacity
MaxCapacity: 100,
}
}),