- Kubernetes cluster (version >= 1.24)
- Helm (version >= 3.7)
-
Add the Helm repository
helm repo add risingwavelabs https://risingwavelabs.github.io/helm-charts/ --force-update
-
Update the local Helm chart repository cache
helm repo update
-
Create a Namespace for RisingWave It's recommended to create a dedicated namespace for RisingWave resources.
kubectl create namespace risingwave
-
Configure the RisingWave Create a
values.yaml
file configure the RisingWave according to your requirements. Example:# Configure meta store backend. metaStore: sqlite: enabled: true path: /data/metastore/risingwave.db # Configure state store backend. stateStore: localFs: enabled: true path: /data/statestore # Enable standalone mode. Mount the PVC to data path. standalone: enabled: true extraVolumeMounts: - name: data mountPath: /data/metastore subPath: metastore - name: data mountPath: /data/statestore subPath: statestore volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 50Gi
For more details in configurations, please refer to the configuration guide.
-
Install the RisingWave Helm Chart Install the RisingWave using the provided configuration.
helm install \ risingwave risingwavelabs/risingwave \ --namespace risingwave \ --create-namespace \ # --set wait=true \ # Uncomment to wait before RisingWave's ready -f values.yaml
-
Verify the Installation After the installation is complete, you can verify the RisingWave cluster resources:
kubectl get all -n risingwave
You should see the RisingWave pods, services, and other resources in the output.
-
Uninstall the RisingWave Helm Chart Release Uninstall the RisingWave release with Helm.
# The first `risingwave` is the namespace, and the second is the release name. The command template looks like # helm uninstall --namespace <namespace> <release-name> helm uninstall --namespace risingwave risingwave
-
Remove all PersistentVolumeClaims (optional) Remove the PVCs to remove the bindings between pods and PVs. This will reclaim the PVs if the reclaim policy is
Delete
. Do this when you would like to do a clean re-installation, or omit the step if you would like to keep the data.# The first `risingwave` is the namespace, and the second is the release name. The command template looks like # kubectl --namespace <namespace> delete pvc -l app.kubernetes.io/instance=<release-name> kubectl --namespace risingwave delete pvc -l app.kubernetes.io/instance=risingwave
-
Delete the Namespace (optional) Delete the namespace to release all resources.
# `risingwave` is the namespace. The command template looks like # kubectl delete namespace <namespace> kubectl delete namespace risingwave
Prerequisites:
- Install cert-manager. The RisingWave Operator installation relies on cert-manager to issue certificates for admission webhooks.
Caution
Note that RisingWave Operator is a cluster level installation. The behaviour is undefined when there are more than one operator installed in the same Kubernetes cluster.
-
Create a Namespace for RisingWave Operator It is recommended to install the RisingWave Operator in a separate namespace, e.g.,
risingwave-operator-system
.kubectl create namespace risingwave-operator-system
-
Install the RisingWave Operator Helm Chart Install the RisingWave Operator with default configuration.
helm install risingwave-operator risingwavelabs/risingwave-operator \ --namespace risingwave-operator-system --create-namespace
The default values should already be good enough in most cases. However, customization is possible by providing a configuration. Please refer to the configuration guide for more details.
-
Verify the Installation After the installation is complete, you can verify the RisingWave Operator resources:
kubectl -n risingwave-operator-system get all
You should see the RisingWave Operator pod, service, and other resources in the output.
-
Create a RisingWave resource Follow the operator's guides to create a RisingWave resource.
Warning
Note that all RisingWave resources as well as the running RisingWave pods will be removed automatically when deleting the RisingWave CRDs.
-
Uninstall the Helm Release Uninstall the Risingwave Operator release with Helm.
# The command template looks like # helm --namespace <namespace> uninstall <release-name> helm --namespace risingwave-operator-system uninstall risingwave-operator
-
Uninstall the RisingWave CRDs Delete the RisingWave CRDs because helm won't uninstall them by design.
kubectl delete crd risingwavescaleviews.risingwave.risingwavelabs.com kubectl delete crd risingwaves.risingwave.risingwavelabs.com
-
Delete the Namespace Delete the namespace to release all resources.
kubectl delete namespace risingwave-operator-system
Once the steps are completed, RisingWave Operator will be fully removed from your Kubernetes cluster.