Install with Helm
Prerequisites
- Helm package manager, tested on version 3.12.3+
- Kubernetes cluster, tested on Kubernetes version 1.27+
Install the Open Match helm chart
Note
If you don’t haveHelm
installed, read the Using Helm documentation to get started. The Open Match helm chart only installs the core services by default, please override default helm configs if you need to install telemetry support.
Open Match has various deployment options. Depending on your needs you can choose one of the available deployment options below:
- Install Open Match using stable Helm repository
- Install Open Match using a specific version
- Install Open Match with the Default Evaluator
Install Open Match using stable Helm repository
To install the chart with the release name open-match
using our stable helm repository:
helm repo add open-match https://open-match.dev/chart/stable
helm install open-match --create-namespace --namespace open-match open-match/open-match
Install Open Match using a specific version
Helm install the latest stable version of Open Match v1.8.0
by default. To view the available helm chart versions and install a specific Open Match version:
# View available Open Match helm chart versions
helm search repo --versions open-match/open-match
# Install a specific Open Match helm chart version
helm install open-match --create-namespace --namespace open-match open-match/open-match --version=CHART_VERSION
Note
Open Match needs to be customized to run as a Matchmaker.
This custom configuration is provided to the Open Match components via a ConfigMap
(om-configmap-override
).
Thus, starting the core service pods will remain in ContainerCreating
until this config map is available.
Install Open Match with the Default Evaluator
Run the command below to install the default Evaluator and configure Open Match to use it.
# Install the Default Evaluator
# Install ConfigMap `om-configmap-override`, this ConfigMap configures Open Match to talk to the Default Evaluator
helm install open-match --create-namespace --namespace open-match open-match/open-match \
--set open-match-customize.enabled=true \
--set open-match-customize.evaluator.enabled=true \
--set open-match-override.enabled=true
To install Open Match with the Default Evaluator and another version of Open Match, you can run this command below
# Install the Default Evaluator with specific version of Open Match
# Install ConfigMap `om-configmap-override`, this ConfigMap configures Open Match to talk to the Default Evaluator
helm install open-match --create-namespace --namespace open-match open-match/open-match --version=CHART_VERSION \
--set open-match-customize.enabled=true \
--set open-match-customize.evaluator.enabled=true \
--set open-match-override.enabled=true
Uninstalling the Chart
To uninstall/delete the open-match
deployment:
helm uninstall -n open-match open-match && \
kubectl delete namespace open-match
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example,
helm install --name open-match --namespace open-match open-match/open-match \
--set open-match-telemetry.enabled=true
The above command sets the namespace where Open Match is deployed to open-match
, and turns on the telemetry exporters along with installing Open Match core services.
The following tables lists the configurable parameters of the Open Match chart and their default values.
Parameter | Description | Default |
---|---|---|
query.portType |
Defines Kubernetes ServiceTypes for the QueryService | ClusterIP |
query.replicas |
Defines the number of pod replicas for QueryService’s Kubernetes deployment | 3 |
frontend.portType |
Defines Kubernetes ServiceTypes for the FrontendService | ClusterIP |
frontend.replicas |
Defines the number of pod replicas for FrontendService’s Kubernetes deployment | 3 |
backend.portType |
Defines Kubernetes ServiceTypes for the BackendService | ClusterIP |
backend.replicas |
Defines the number of pod replicas for BackendService’s Kubernetes deployment | 3 |
image.pullPolicy |
Global imagePullPolicy for all Open Match service deployments |
Always |
image.tag |
Global Docker image tag for all Open Match service deployments | 1.8.0 |
open-match-core.enabled |
Turn on/off the installation of Open Match core services | true |
open-match-core.registrationInterval |
Duration of registration window for evaluation/synchronization cycle. | 250ms |
open-match-core.proposalCollectionInterval |
Length of time after match function has started before it will be canceled. | 20s |
open-match-core.pendingReleaseTimeout |
Defines the time before a ticket returns to the pool after it was fetched. | 1m |
open-match-core.assignedDeleteTimeout |
Time after a ticket has been assigned before it is automatically deleted. | 10m |
open-match-core.backfillLockTimeout |
Defines the time of keeping a lock on a single backfill. | 1m |
open-match-override.enabled |
Turn on/off the installation of om-override-configmap |
false |
open-match-telemetry.enabled |
Turn on/off the installation of Open Match telemetry services | false |
open-match-scale.enabled |
Turn on/off the installation of Open Match scale testing setups | false |
global.kubernetes.serviceAccount |
Service account name for the Open Match core services | open-match-unprivileged-service |
global.kubernetes.service.portType |
Overrides the ServiceTypes for all Open Match core services | `` |
global.gcpProjectId |
Overrides the default gcp project id for use with stackdriver | replace_with_your_project_id |
global.tls.enabled |
Turn on/off TLS encryption for all Open Match traffics | false |
global.tls.server.mountPath |
The VolumeMount path for TLS server | /app/secrets/tls/server |
global.tls.rootca.mountPath |
The VolumeMount path for TLS CA | /app/secrets/tls/rootca |
global.logging.rpc.enabled |
Turn on/off RPC payload logging for all Open Match core services | false |
global.telemetry.zpages.enabled |
Turn on/off Open Match zPages instrument. | true |
global.telemetry.prometheus.enabled |
Turn on/off Open Match Prometheus exporter. Also install Prometheus if open-match-telemetry.enabled is set to true |
false |
global.telemetry.prometheus.endpoint |
Bind the Prometheus exporters to the specified endpoint handler, also configures the prometheus.io/path k8s scraping annotations |
/metrics |
global.telemetry.prometheus.serviceDiscovery |
If Prometheus is enabled and serviceDiscover: true , add the Prometheus scraping annotations to each Pod of the Open Match core services |
true |
global.telemetry.stackdriverMetrics.enabled |
Turn on/off Open Match Stackdriver Metrics exporter. | false |
global.telemetry.stackdriverMetrics.prefix |
MetricPrefix overrides the prefix of a Stackdriver metric display names to help you better identifies your metrics | open_match |
global.telemetry.grafana.enabled |
Turn on/off Open Match Grafana exporter. Also install Grafana if open-match-telemetry.enabled is set to true |
false |
global.telemetry.reportingPeriod |
Overrides the reporting periods of Open Match telemetry exporters | 1m |
open-match-telemetry.grafana |
Inherits the values from Grafana helm chart | |
open-match-telemetry.prometheus |
Inherits the values from Prometheus helm chart | |
redis |
Inherits the values from the Bitnami Redis Helm chart |
What’s Next
Follow the Getting Started guide to see Open Match in action.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified January 18, 2024