Skip to main content

Installation

Requirements​

  • Install Kubernetes Cluster, requires Kubernetes version >= 1.19.
  • (Optional, If Use CloneSet) Helm installation of OpenKruise, Since v1.1.0, Reference Install OpenKruise.

Install with helm​

Kruise Rollout can be simply installed by helm v3.1+, which is a simple command-line tool and you can get it from here.

# 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-rollout openkruise/kruise-rollout --version 0.5.0

Note: Changelog.

Upgrade with helm​

# Firstly add openkruise charts repository if you haven't do this.
$ helm repo add openkruise https://openkruise.github.io/charts/

# [Optional]
$ helm repo update

# Upgrade to the latest version.
$ helm upgrade kruise-rollout openkruise/kruise-rollout --version 0.5.0 [--force]

Note that:

  1. Before upgrade, you must firstly read the Change Log to make sure that you have understand the breaking changes in the new version.
  2. If you want to drop the chart parameters you configured for the old release or set some new parameters, it is recommended to add --reset-values flag in helm upgrade command. Otherwise you should use --reuse-values flag to reuse the last release's values.

Optional: install/upgrade with customized configurations​

The following table lists the configurable parameters of the kruise chart and their default values, more details can be found in this chart repo.

ParameterDescriptionDefault
installation.namespaceNamespace for kruise-rollout operation installationkruise-rollout
installation.createNamespaceWhether to create the installation.namespacetrue
rollout.fullnameNick name for kruise-rollout deployment and other configurationskruise-rollout-controller-manager
rollout.featureGatesFeature gates for kruise-rollout, empty string means all disabledAdvancedDeployment=true
rollout.healthBindPortPort for checking health of kruise-rollout container8081
rollout.metricsBindAddrPort of metrics served by kruise-rollout container127.0.0.1:8080
rollout.log.levelLog level that kruise-rollout printed4
rollout.webhook.portPort of webhook served by kruise-rollout container9876
rollout.webhook.objectSelectorObjectSelector for workloads in MutatingWebhookConfigurations
image.repositoryRepository for kruise-rollout imageopenkruise/kruise-rollout
image.tagTag for kruise-rollout imagev0.3.0
image.pullPolicyImagePullPolicy for kruise-rollout containerAlways
imagePullSecretsThe list of image pull secrets for kruise-rollout image
resources.limits.cpuCPU resource limit of kruise-rollout container500m
resources.limits.memoryMemory resource limit of kruise-rollout container1Gi
resources.requests.cpuCPU resource request of kruise-rollout container100m
resources.requests.memoryMemory resource request of kruise-rollout container256Mi
replicaCountReplicas of kruise-rollout deployment2
service.portPort of webhook served by kruise-rollout webhook service443

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

$ helm install kruise-rollout openkruise/kruise-rollout --version 0.5.0 --set resources.limits.memory=2Gi

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 https://... --set image.repository=openkruise-registry.cn-shanghai.cr.aliyuncs.com/openkruise/kruise-rollout
...

Uninstall​

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

Please do this ONLY when you fully understand the consequence.

To uninstall kruise rollout if it is installed with helm charts:

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

What's Next​

Here are some recommended next steps: