Skip to main content

Installation

Install OpenKruiseGame(OKG)

Installation Instructions

Installing OpenKruiseGame requires Kruise and Kruise-Game to be installed and Kubernetes version >= 1.18.

Install Kruise

We recommend that you use Helm V3.5 or later to install Kruise.

# Firstly add openkruise charts repository if you haven't do this.
$ helm repo add openkruise https://openkruise.github.io/charts/
# [Optional]
$ helm repo update
# Install the latest version.
$ helm install kruise openkruise/kruise --version 1.7.0

Install Kruise-Game

$ helm install kruise-game openkruise/kruise-game --version 0.9.0

Upgrade Kruise-Game

$ helm upgrade kruise-game openkruise/kruise-game --version 0.9.0 [--force]

Options

Optional: install/upgrade with customized configurations

The following table lists the configurable parameters of the kruise-game chart and their default values.

ParameterDescriptionDefault
installation.namespaceNamespace for kruise-game operation installationkruise-game-system
installation.createNamespaceWhether to create the installation.namespacetrue
kruiseGame.fullnameNick name for kruise-game deployment and other configurationskruise-game-controller-manager
kruiseGame.healthBindPortPort for checking health of kruise-game container8082
kruiseGame.webhook.portPort of webhook served by kruise-game container443
kruiseGame.webhook.targetPortObjectSelector for workloads in MutatingWebhookConfigurations9876
kruiseGame.apiServerQpsMaximum sustained queries per second to send to the API server of kruise-game-controller-manager5
kruiseGame.apiServerQpsBurstMaximum burst queries per second to send to the API server of kruise-game-controller-manager10
replicaCountReplicas of kruise-game deployment1
image.repositoryRepository for kruise-game imageopenkruise/kruise-game-manager
image.tagTag for kruise-game imagev0.9.0
image.pullPolicyImagePullPolicy for kruise-game containerAlways
serviceAccount.annotationsThe annotations for serviceAccount of kruise-game
resources.limits.cpuCPU resource limit of kruise-game container500m
resources.limits.memoryMemory resource limit of kruise-game container1Gi
resources.requests.cpuCPU resource request of kruise-game container10m
resources.requests.memoryMemory resource request of kruise-game container64Mi
prometheus.enabledWhether to bind metric endpointtrue
prometheus.monitorService.portPort of the monitorservice bind to8080
scale.service.portPort of the external scaler server binds to6000
scale.service.targetPortTargetPort of the external scaler server binds to6000
network.totalWaitTimeMaximum time to wait for network ready, the unit is seconds60
network.probeIntervalTimeTime interval for detecting network status, the unit is seconds5
cloudProvider.installCRDWhether to install CloudProvider CRDtrue

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

Optional: the local image for China

If you are in China and have problem to pull image from official DockerHub, you can use the registry hosted on Alibaba Cloud:

$ helm install kruise-game https://... --set image.repository=registry-cn-hangzhou.ack.aliyuncs.com/acs/kruise-game-manager

Uninstall OpenKruiseGame(OKG)

Note that this will lead to all resources created by kruise-game, including webhook configurations, services, namespace, CRDs and CR instances kruise-game controller, to be deleted!

Please do this ONLY when you fully understand the consequence.

To uninstall kruise-game if it is installed with helm charts:

$ helm uninstall kruise-game
release "kruise-game" uninstalled

FAQ

Q: Error no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1" A: This is because the cluster does not have the prometheus operator installed. enabling the playsuit monitoring feature requires the prometheus operator to be installed on the Kubernetes cluster. If you do not use this feature, you can set prometheus.enabled to false during installation (the default is true)

Q: Error CustomResourceDefinition "poddnats.alibabacloud.com" in namespace "" exists and cannot be imported into the cureent release A: This is because the CRD is already installed in the cluster and you can set cloudProvider.installCRD to false during installation (default is true)

What's Next

Here are some recommended next steps: