Socket
Socket
Sign inDemoInstall

@helm-charts/agones-agones

Package Overview
Dependencies
1
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @helm-charts/agones-agones

a library for hosting, running and scaling dedicated game servers on Kubernetes.


Version published
Maintainers
2
Created

Readme

Source

@helm-charts/agones-agones

a library for hosting, running and scaling dedicated game servers on Kubernetes.

FieldValue
Repository Nameagones
Chart Nameagones
Chart Version0.7.0-rc
NPM Package Version0.1.0
Helm chart `values.yaml` (default values)
# Copyright 2018 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Declare variables to be passed into your templates.

agones:
  metrics:
    enabled: true
    prometheusServiceDiscovery: true
  rbacEnabled: true
  crds:
    install: true
    cleanupOnDelete: true
  serviceaccount:
    controller: agones-controller
    sdk: agones-sdk
  controller:
    resources: {}
    generateTLS: true
    safeToEvict: false
    http:
      port: 8080
    healthCheck:
      initialDelaySeconds: 3
      periodSeconds: 3
      failureThreshold: 3
      timeoutSeconds: 1
  ping:
    install: true
    replicas: 2
    http:
      expose: true
      response: ok
      port: 80
      serviceType: LoadBalancer
    udp:
      expose: true
      rateLimit: 20
      port: 50000
      serviceType: LoadBalancer
    healthCheck:
      initialDelaySeconds: 3
      periodSeconds: 3
      failureThreshold: 3
      timeoutSeconds: 1
  image:
    registry: gcr.io/agones-images
    tag: 0.7.0-rc
    controller:
      name: agones-controller
      pullPolicy: IfNotPresent
    sdk:
      name: agones-sdk
      cpuRequest: 30m
      cpuLimit: 0
      alwaysPull: false
    ping:
      name: agones-ping
      pullPolicy: IfNotPresent

gameservers:
  namespaces:
    - default
  minPort: 7000
  maxPort: 8000

Install Agones using Helm

This chart install the Agones application and defines deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Helm package manager 2.10.0+
  • Kubernetes 1.11+
  • Role-based access controls (RBAC) activated
  • MutatingAdmissionWebhook and ValidatingAdmissionWebhook admission controllers activated, see recommendation

Installing the Chart

If you don't have Helm installed locally, or Tiller installed in your Kubernetes cluster, read the Using Helm documentation to get started.

To install the chart with the release name my-release using our stable helm repository:

$ helm repo add agones https://agones.dev/chart/stable
$ helm install --name my-release --namespace agones-system agones/agones

We recommend to install Agones in its own namespaces (like agones-system as shown above) you can use the helm --namespace parameter to specify a different namespace.

The command deploys Agones on the Kubernetes cluster with the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

If you are installing a development build of Agones (i.e. not the 0.4.0 release), you will need to install Agones the following way:

$ cd install/helm/
$ helm install --name my-release --namespace agones-system agones --set agones.image.tag=0.4.0-481970d

The full list of available tags is here


Namespaces

By default Agones is configured to work with game servers deployed in the default namespace. If you are planning to use other namespace you can configure Agones via the parameter gameservers.namespaces.

For example to use default and xbox namespaces:

$ kubectl create namespace xbox
$ helm install --set "gameservers.namespaces={default,xbox}" --namespace agones-system --name my-release agones/agones

You need to create your namespaces before installing Agones.

If you want to add a new namespace afterward simply upgrade your release:

$ kubectl create namespace ps4
$ helm upgrade --set "gameservers.namespaces={default,xbox,ps4}" my-release agones/agones

RBAC

By default, agones.rbacEnabled is set to true. This enable RBAC support in Agones and must be true if RBAC is enabled in your cluster.

The chart will take care of creating the required service accounts and roles for Agones.

If you have RBAC disabled, or to put it another way, ABAC enabled, you should set this value to false.

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following tables lists the configurable parameters of the Agones chart and their default values.

ParameterDescriptionDefault
agones.rbacEnabledCreates RBAC resources. Must be set for any cluster configured with RBACtrue
agones.crds.installInstall the CRDs with this chart. Useful to disable if you want to subchart (since crd-install hook is broken), so you can copy the CRDs into your own chart.true
agones.crds.cleanupOnDeleteRun the pre-delete hook to delete all GameServers and their backing Pods when deleting the helm chart, so that all CRDs can be removed on chart deletiontrue
agones.metrics.enabledEnables controller metrics on port 8080 and path /metricstrue
agones.metrics.prometheusServiceDiscoveryAdds annotations for Prometheus ServiceDiscovery (and also Strackdriver)true
agones.serviceaccount.controllerService account name for the controlleragones-controller
agones.serviceaccount.sdkService account name for the sdkagones-sdk
agones.image.registryGlobal image registry for all imagesgcr.io/agones-images
agones.image.tagGlobal image tag for all images0.4.0
agones.image.controller.nameImage name for the controlleragones-controller
agones.image.controller.pullPolicyImage pull policy for the controllerIfNotPresent
agones.image.controller.pullSecretImage pull secret for the controller``
agones.image.sdk.nameImage name for the sdkagones-sdk
agones.image.sdk.cpuRequestThe cpu request for sdk server container30m
agones.image.sdk.cpuLimitThe cpu limit for the sdk server container0 (none)
agones.image.sdk.alwaysPullTells if the sdk image should always be pulledfalse
agones.image.ping.name( ⚠️ release candidate feature ⚠️ ) Image name for the ping serviceagones-ping
agones.image.ping.pullPolicy( ⚠️ release candidate feature ⚠️ ) Image pull policy for the ping serviceIfNotPresent
agones.controller.http.portPort to use for liveness probe service and metrics8080
agones.controller.healthCheck.initialDelaySecondsInitial delay before performing the first probe (in seconds)3
agones.controller.healthCheck.periodSecondsSeconds between every liveness probe (in seconds)3
agones.controller.healthCheck.failureThresholdNumber of times before giving up (in seconds)3
agones.controller.healthCheck.timeoutSecondsNumber of seconds after which the probe times out (in seconds)1
agones.controller.resourcesController resource requests/limit{}
agones.controller.generateTLSSet to true to generate TLS certificates or false to provide your own certificates in certs/*true
agones.ping.install( ⚠️ release candidate feature ⚠️ ) Whether to install the ping servicetrue
agones.ping.replicas( ⚠️ release candidate feature ⚠️ ) The number of replicas to run in the deployment2
agones.ping.http.expose( ⚠️ release candidate feature ⚠️ ) Expose the http ping service via a Servicetrue
agones.ping.http.response( ⚠️ release candidate feature ⚠️ ) The string response returned from the http serviceok
agones.ping.http.port( ⚠️ release candidate feature ⚠️ ) The port to expose on the service80
agones.ping.http.serviceType( ⚠️ release candidate feature ⚠️ ) The Service Type of the HTTP ServiceLoadBalancer
agones.ping.udp.expose( ⚠️ release candidate feature ⚠️ ) Expose the udp ping service via a Servicetrue
agones.ping.udp.rateLimit( ⚠️ release candidate feature ⚠️ ) Number of UDP packets the ping service handles per instance, per second, per sender20
agones.ping.udp.port( ⚠️ release candidate feature ⚠️ ) The port to expose on the service80
agones.ping.udp.serviceType( ⚠️ release candidate feature ⚠️ ) The Service Type of the UDP ServiceLoadBalancer
agones.ping.healthCheck.initialDelaySeconds( ⚠️ release candidate feature ⚠️ ) Initial delay before performing the first probe (in seconds)3
agones.ping.healthCheck.periodSeconds( ⚠️ release candidate feature ⚠️ ) Seconds between every liveness probe (in seconds)3
agones.ping.healthCheck.failureThreshold( ⚠️ release candidate feature ⚠️ ) Number of times before giving up (in seconds)3
agones.ping.healthCheck.timeoutSeconds( ⚠️ release candidate feature ⚠️ ) Number of seconds after which the probe times out (in seconds)1
gameservers.namespacesa list of namespaces you are planning to use to deploy game servers["default"]
gameservers.minPortMinimum port to use for dynamic port allocation7000
gameservers.maxPortMaximum port to use for dynamic port allocation8000

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install --name my-release --namespace agones-system \
  --set agones.namespace=mynamespace,gameservers.minPort=1000,gameservers.maxPort=5000 agones

The above command sets the namespace where Agones is deployed to mynamespace. Additionally Agones will use a dynamic port allocation range of 1000-5000.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

$ helm install --name my-release --namespace agones-system -f values.yaml agones/agones

Tip: You can use the default values.yaml

TLS Certificates

By default agones chart generates tls certificates used by the adminission controller, while this is handy, it requires the agones controller to restart on each helm upgrade command. For most used cases the controller would have required a restart anyway (eg: controller image updated). However if you really need to avoid restarts we suggest that you turn off tls automatic generation (agones.controller.generateTLS to false) and provide your own certificates (certs/server.crt,certs/server.key).

Tip: You can use our script located at cert/cert.sh to generates them.

Confirm Agones is running

To confirm Agones is up and running, go to the next section

FAQs

Last updated on 22 Apr 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc