diff --git a/install/helm/agones/templates/ping.yaml b/install/helm/agones/templates/ping.yaml index d3c0ad4014..c52016fd04 100644 --- a/install/helm/agones/templates/ping.yaml +++ b/install/helm/agones/templates/ping.yaml @@ -138,7 +138,7 @@ spec: release: {{ .Release.Name }} heritage: {{ .Release.Service }} {{- end }} - {{- if .Values.agones.ping.http.expose }} +{{- if .Values.agones.ping.http.expose }} --- apiVersion: v1 kind: Service @@ -171,6 +171,7 @@ spec: {{- if .Values.agones.ping.http.loadBalancerIP }} loadBalancerIP: {{ .Values.agones.ping.http.loadBalancerIP }} {{- end }} + externalTrafficPolicy: {{ .Values.agones.ping.http.externalTrafficPolicy }} {{- if .Values.agones.ping.http.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{ toYaml .Values.agones.ping.http.loadBalancerSourceRanges | indent 4 }} @@ -178,7 +179,7 @@ spec: {{- end }} {{- end }} - {{- if .Values.agones.ping.udp.expose }} +{{- if .Values.agones.ping.udp.expose }} --- apiVersion: v1 kind: Service @@ -211,6 +212,7 @@ spec: {{- if .Values.agones.ping.udp.loadBalancerIP }} loadBalancerIP: {{ .Values.agones.ping.udp.loadBalancerIP }} {{- end }} + externalTrafficPolicy: {{ .Values.agones.ping.udp.externalTrafficPolicy }} {{- if .Values.agones.ping.udp.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{ toYaml .Values.agones.ping.udp.loadBalancerSourceRanges | indent 4 }} diff --git a/install/helm/agones/values.yaml b/install/helm/agones/values.yaml index 26f768211b..45dce6a467 100644 --- a/install/helm/agones/values.yaml +++ b/install/helm/agones/values.yaml @@ -184,6 +184,7 @@ agones: nodePort: 0 # nodePort will be used if the serviceType is set to NodePort serviceType: LoadBalancer loadBalancerIP: "" + externalTrafficPolicy: Cluster loadBalancerSourceRanges: [] annotations: {} udp: @@ -193,6 +194,7 @@ agones: nodePort: 0 # nodePort will be used if the serviceType is set to NodePort serviceType: LoadBalancer loadBalancerIP: "" + externalTrafficPolicy: Cluster loadBalancerSourceRanges: [] annotations: {} healthCheck: diff --git a/install/yaml/install.yaml b/install/yaml/install.yaml index 91339f4a67..a0e7468749 100644 --- a/install/yaml/install.yaml +++ b/install/yaml/install.yaml @@ -17727,6 +17727,7 @@ spec: targetPort: 8080 protocol: TCP type: LoadBalancer + externalTrafficPolicy: Cluster --- # Source: agones/templates/ping.yaml apiVersion: v1 @@ -17749,6 +17750,7 @@ spec: targetPort: 8080 protocol: UDP type: LoadBalancer + externalTrafficPolicy: Cluster --- # Source: agones/templates/service.yaml # Copyright 2018 Google LLC All Rights Reserved. diff --git a/site/content/en/docs/Installation/Install Agones/helm.md b/site/content/en/docs/Installation/Install Agones/helm.md index 7d6d6be2e4..016a245ba5 100644 --- a/site/content/en/docs/Installation/Install Agones/helm.md +++ b/site/content/en/docs/Installation/Install Agones/helm.md @@ -91,7 +91,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.registerServiceAccounts` | Attempts to create service accounts for the controllers | `true` | | `agones.createPriorityClass` | Attempts to create priority classes for the controllers | `true` | | `agones.priorityClassName` | Name of the priority classes to create | `agones-system` | -| `agones.requireDedicatedNodes` | Forces Agones system components to be scheduled on dedicated nodes, only applies to the GKE Standard without node auto-provisioning | `false` | +| `agones.requireDedicatedNodes` | Forces Agones system components to be scheduled on dedicated nodes, only applies to the GKE Standard without node auto-provisioning | `false` | ### Custom Resource Definitions @@ -192,7 +192,44 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.controller.maxPodPendingCount` | Maximum number of pending pods per game server set | `5000` | ### Ping Service +{{% feature expiryVersion="1.47.0" %}} +| Parameter | Description | Default | +|----------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------| +| `agones.ping.install` | Whether to install the [ping service][ping] | `true` | +| `agones.ping.replicas` | The number of replicas to run in the deployment | `2` | +| `agones.ping.http.expose` | Expose the http ping service via a Service | `true` | +| `agones.ping.http.response` | The string response returned from the http service | `ok` | +| `agones.ping.http.port` | The port to expose on the service | `80` | +| `agones.ping.http.serviceType` | The [Service Type][service] of the HTTP Service | `LoadBalancer` | +| `agones.ping.http.nodePort` | Static node port to use for HTTP ping service. (Only applies when `agones.ping.http.serviceType` is `NodePort`.) | `0` | +| `agones.ping.http.loadBalancerIP` | The [Load Balancer IP][loadBalancer] of the HTTP Service load balancer. Only works if the Kubernetes provider supports this option. | \`\` | +| `agones.ping.http.loadBalancerSourceRanges` | The [Load Balancer SourceRanges][loadBalancer] of the HTTP Service load balancer. Only works if the Kubernetes provider supports this option. | `[]` | +| `agones.ping.http.annotations` | [Annotations][annotations] added to the Agones ping http service | `{}` | +| `agones.ping.udp.expose` | Expose the udp ping service via a Service | `true` | +| `agones.ping.udp.rateLimit` | Number of UDP packets the ping service handles per instance, per second, per sender | `20` | +| `agones.ping.udp.port` | The port to expose on the service | `80` | +| `agones.ping.udp.serviceType` | The [Service Type][service] of the UDP Service | `LoadBalancer` | +| `agones.ping.udp.nodePort` | Static node port to use for UDP ping service. (Only applies when `agones.ping.udp.serviceType` is `NodePort`.) | `0` | +| `agones.ping.udp.loadBalancerIP` | The [Load Balancer IP][loadBalancer] of the UDP Service load balancer. Only works if the Kubernetes provider supports this option. | \`\` | +| `agones.ping.udp.loadBalancerSourceRanges` | The [Load Balancer SourceRanges][loadBalancer] of the UDP Service load balancer. Only works if the Kubernetes provider supports this option. | `[]` | +| `agones.ping.udp.annotations` | [Annotations][annotations] added to the Agones ping udp service | `{}` | +| `agones.ping.healthCheck.initialDelaySeconds` | Initial delay before performing the first probe (in seconds) | `3` | +| `agones.ping.healthCheck.periodSeconds` | Seconds between every liveness probe (in seconds) | `3` | +| `agones.ping.healthCheck.failureThreshold` | Number of times before giving up (in seconds) | `3` | +| `agones.ping.healthCheck.timeoutSeconds` | Number of seconds after which the probe times out (in seconds) | `1` | +| `agones.ping.resources` | Ping pods [resource requests/limit][resources] | `{}` | +| `agones.ping.nodeSelector` | Ping [node labels][nodeSelector] for pod assignment | `{}` | +| `agones.ping.tolerations` | Ping [toleration][toleration] labels for pod assignment | `[]` | +| `agones.ping.affinity` | Ping [affinity][affinity] settings for pod assignment | `{}` | +| `agones.ping.annotations` | [Annotations][annotations] added to the Agones ping pods | `{}` | +| `agones.ping.updateStrategy` | The [strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) to apply to the allocator deployment | `{}` | +| `agones.ping.pdb.enabled` | Set to `true` to enable the creation of a [PodDisruptionBudget](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) for the ping deployment | `false` | +| `agones.ping.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with `maxUnavailable` | `1` | +| `agones.ping.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage Mutually Exclusive with `minAvailable` | \`\` | +| `agones.ping.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +{{% /feature %}} +{{% feature publishVersion="1.47.0" %}} | Parameter | Description | Default | |----------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------| | `agones.ping.install` | Whether to install the [ping service][ping] | `true` | @@ -203,6 +240,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.ping.http.serviceType` | The [Service Type][service] of the HTTP Service | `LoadBalancer` | | `agones.ping.http.nodePort` | Static node port to use for HTTP ping service. (Only applies when `agones.ping.http.serviceType` is `NodePort`.) | `0` | | `agones.ping.http.loadBalancerIP` | The [Load Balancer IP][loadBalancer] of the HTTP Service load balancer. Only works if the Kubernetes provider supports this option. | \`\` | +| `agones.ping.http.externalTrafficPolicy` | The `externalTrafficPolicy` for the Agones http ping service | `Cluster` | | `agones.ping.http.loadBalancerSourceRanges` | The [Load Balancer SourceRanges][loadBalancer] of the HTTP Service load balancer. Only works if the Kubernetes provider supports this option. | `[]` | | `agones.ping.http.annotations` | [Annotations][annotations] added to the Agones ping http service | `{}` | | `agones.ping.udp.expose` | Expose the udp ping service via a Service | `true` | @@ -211,6 +249,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.ping.udp.serviceType` | The [Service Type][service] of the UDP Service | `LoadBalancer` | | `agones.ping.udp.nodePort` | Static node port to use for UDP ping service. (Only applies when `agones.ping.udp.serviceType` is `NodePort`.) | `0` | | `agones.ping.udp.loadBalancerIP` | The [Load Balancer IP][loadBalancer] of the UDP Service load balancer. Only works if the Kubernetes provider supports this option. | \`\` | +| `agones.ping.udp.externalTrafficPolicy` | The `externalTrafficPolicy` for the Agones udp ping service | `Cluster` | | `agones.ping.udp.loadBalancerSourceRanges` | The [Load Balancer SourceRanges][loadBalancer] of the UDP Service load balancer. Only works if the Kubernetes provider supports this option. | `[]` | | `agones.ping.udp.annotations` | [Annotations][annotations] added to the Agones ping udp service | `{}` | | `agones.ping.healthCheck.initialDelaySeconds` | Initial delay before performing the first probe (in seconds) | `3` | @@ -226,7 +265,8 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.ping.pdb.enabled` | Set to `true` to enable the creation of a [PodDisruptionBudget](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) for the ping deployment | `false` | | `agones.ping.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with `maxUnavailable` | `1` | | `agones.ping.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage Mutually Exclusive with `minAvailable` | \`\` | -| `agones.ping.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +| `agones.ping.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +{{% /feature %}} ### Allocator Service @@ -315,19 +355,19 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.extensions.logLevel` | Agones Extensions Log level. Log only entries with that severity and above | `info` | | `agones.extensions.persistentLogs` | Store Agones extensions logs in a temporary volume attached to a container for debugging | `true` | | `agones.extensions.persistentLogsSizeLimitMB` | Maximum total size of all Agones container logs in MB | `10000` | -| `agones.extensions.disableSecret` | Disables the creation of any allocator secrets. You MUST provide the `{agones.releaseName}-cert` secrets before installation if this is set to `true`. | `false` | +| `agones.extensions.disableSecret` | Disables the creation of any allocator secrets. You MUST provide the `{agones.releaseName}-cert` secrets before installation if this is set to `true`. | `false` | | `agones.extensions.customCertSecretPath` | Remap cert-manager path to server.crt and server.key | `{}` | -| `agones.extensions.allocationApiService.annotations` | [Annotations][annotations] added to the Agones API registration. | `{}` | -| `agones.extensions.allocationApiService.disableCaBundle` | Disable ca-bundle so it can be injected by cert-manager. | `false` | -| `agones.extensions.validatingWebhook.annotations` | [Annotations][annotations] added to the Agones validating webhook. | `{}` | -| `agones.extensions.validatingWebhook.disableCaBundle` | Disable ca-bundle so it can be injected by cert-manager. | `false` | -| `agones.extensions.mutatingWebhook.annotations` | [Annotations][annotations] added to the Agones mutating webhook. | `{}` | -| `agones.extensions.mutatingWebhook.disableCaBundle` | Disable ca-bundle so it can be injected by cert-manager. | `false` | +| `agones.extensions.allocationApiService.annotations` | [Annotations][annotations] added to the Agones API registration. | `{}` | +| `agones.extensions.allocationApiService.disableCaBundle` | Disable ca-bundle so it can be injected by cert-manager. | `false` | +| `agones.extensions.validatingWebhook.annotations` | [Annotations][annotations] added to the Agones validating webhook. | `{}` | +| `agones.extensions.validatingWebhook.disableCaBundle` | Disable ca-bundle so it can be injected by cert-manager. | `false` | +| `agones.extensions.mutatingWebhook.annotations` | [Annotations][annotations] added to the Agones mutating webhook. | `{}` | +| `agones.extensions.mutatingWebhook.disableCaBundle` | Disable ca-bundle so it can be injected by cert-manager. | `false` | | `agones.extensions.allocationBatchWaitTime` | Wait time between each allocation batch when performing allocations in controller mode | `500ms` | | `agones.extensions.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with maxUnavailable | `1` | -| `agones.extensions.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage. Mutually Exclusive with `minAvailable` | \`\` | +| `agones.extensions.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage. Mutually Exclusive with `minAvailable` | \`\` | | `agones.extensions.replicas` | The number of replicas to run in the deployment | `2` | -| `agones.extensions.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +| `agones.extensions.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` |