Installation using Helm
On this page
Helm is a package manager for Kubernetes, and is the preferred way to install and deploy Ververica Platform. In Helm a package is called a chart, and it contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. Charts are essentially just a collection of templates and some input values, which Helm refers to as manifests, that are then rendered into Kubernetes resources.
If you're unfamiliar with Helm and would like to know more about charts, we recommend checking out the Helm charts documentation (https://v3.helm.sh/docs/topics/charts/).
Before continuing, please read the documentation about the Ververica Platform Docker images and take any necessary action.
Prerequisites
This installation guide assumes you already installed helm. Ververica Platform supports Helm 3 for installation. Setting up Helm is not covered by this guide, so please refer to the Helm documentation for further information.
To verify that your environment is prepared, the following commands should complete without error:
1kubectl get pods
2helm listChart Repository
We host a Helm chart repository at https://charts.ververica.com that you can use to install Ververica Platform.
Please add the repository via:
1helm repo add ververica https://charts.ververica.comThe name of the chart is ververica-platform. You can download it via:
1helm fetch --version 5.11.5 ververica/ververica-platformIf you omit the version argument, you will get the latest chart version.
You can search for available versions via:
1helm search repo -l ververica/ververica-platformChart Configuration
Helm provides several options for setting and overriding values in a chart. For Ververica Platform we recommend to customize the chart by passing a values file via --values <your values file>.
Chart Required Values
The required settings for installing Ververica Platform using the Helm chart are a license and the persistence type.
Ververica Platform supports persistence using JDBC, either in a remote RDBMS or locally using SQLite.
See Persistence Configuration for a list of supported remote RDBMSs.
- To use a local volume, specify
vvp.persistence.type: local - To use a remote RDBMS, specify
vvp.persistence.type: jdbcand see Persistence Configuration for instructions on how to configure the connection
Chart Default Values
You use helm to show the default values.yaml file for Ververica Platform.
1helm inspect values --version 5.11.5 ververica/ververica-platform > values.yamlThe resulting values.yaml file is also a good starting point for your custom values.yaml configuration file as it contains comments and explanations for most common configurations.
Ververica Platform ships with a few default values worth pointing out.
- By default, the chart uses the Docker registry hosted by Ververica. To specify your own registry, override the appropriate registry/repository values for the respective chart components (see Ververica Platform Docker Images).
- By default, the chart will create and manage persistent volumes for the components that require them. For this to work, your Kubernetes installation must have a default
StorageClassconfigured. You can use an existing PersistentVolumeClaim by using the respectivepersistentVolume.existingClaim: ""options for each of the components. - If your Kubernetes installation uses role-based access control (RBAC), you must specify either
rbac.create: true(default) or reference an existing ServiceAccount that you manage using therbac.serviceAccountNameoption. - In addition, if you are using multiple Kubernetes namespaces as Deployment Targets (recommended), you can specify
rbac.additionalNamespacesto create proper roles and role bindings in all target Kubernetes namespaces.
Completing the Installation using Helm
A Minimal values.yaml
As outlined in Chart Required Values, you at least need to configure a license as well as the persistence type.
As a customer of Ververica you received your license key from your account manager, or alternatively, you can request a free trial license from the Ververica website.
1# Minimal values.yaml file
2vvp:
3 persistence:
4 type: local
5
6 blobStorage:
7 baseUri: s3://vvp
8 s3:
9 endpoint: http://minio.vvp.svc:9000
10
11 license:
12 data:
13 kind: License
14 apiVersion: v1
15 metadata:
16 id: 53b8cf22-1af2-44bd-a7ba-7420418f6572
17 createdAt: 2020-02-21T12:56:52.407899Z
18 annotations:
19 signature: <omitted>
20 licenseSpec: ewogICJsaWNlbnNlSWQiIDogIjUzYjhjZjIyLTFhZjItNDRiZC1hN2JhLTc0MjA0MThmNjU3MiIsCiAgImxpY2Vuc2VkVG8iIDogInRlc3QiLAogICJleHBpcmVzIiA6ICIyMDIwLTAzLTIyVDEyOjU2OjUxLjg3MzU1M1oiLAogICJwYXJhbXMiIDogewogICAgInF1b3RhLnR5cGUiIDogIlVOTElNSVRFRCIsCiAgICAidHJpYWwiIDogInRydWUiCiAgfQp9
21 spec:
22 licenseId: 53b8cf22-1af2-44bd-a7ba-7420418f6572
23 licensedTo: My Company Inc.
24 expires: 2020-03-22T12:56:51.873553Z
25 params:
26 quota.type: UNLIMITED
27 trial: trueDuring installation, you can specify this values file using the --values values.yaml argument.
Installation
To install a release named vvp into the Kubernetes namespace my-namespace using your values.yaml configuration run:
1helm install vvp ververica/ververica-platform \
2 --namespace my-namespace \
3 --values values.yaml \
4 --version 5.11.5This example assumes that you have already added the chart repository as outlined.
Debugging Chart Configuration
Helm has an offline templating option that is useful for debugging charts, and as a kind of dry-run/preview mode. With this you can render a Helm chart without applying the values and see the resources it would create in your Kubernetes cluster.
1helm template --debug ververica/ververica-platform \
2 --namespace my-namespace \
3 --values values.yaml \
4 --version 5.11.5