This chart deploys an Apache Fluss cluster on Kubernetes, following Helm best practices. It requires a Zookeeper ensemble to be running in the same Kubernetes cluster. In future releases, we may add support for an embedded Zookeeper cluster.
| component | version |
|---|---|
| Docker | v28.3.2 |
| Minikube | v1.36.0 |
| Kubernetes | v1.25.3 |
| Helm | v3.18.6 |
| Apache Fluss | v0.9.0-incubating |
A container image for Fluss is available on DockerHub as fluss/fluss. You can use it directly or build your own from this repo. To use your own image you need to build the project with Maven and build it with Docker.
The Maven build will create all required artifacts in the build-target directory. You need to copy it into the docker directory. The Dockerfile in this directory will copy these artifacts into the image.
In minikube, you can use the local Docker daemon to build the image without pushing it to a registry:
eval $(minikube -p minikube docker-env) docker build -t fluss/fluss:0.9.0-incubating .
It creates:
To start Zookeeper use Bitnami’s chart or your own deployment. If you have an existing Zookeeper cluster, you can skip this step. Example with Bitnami’s chart:
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm install zk bitnami/zookeeper \ --set replicaCount=3 \ --set auth.enabled=false \ --set persistence.size=5Gi
helm install fluss ./fluss-helm
With an optional namespace flag --namespace <your-namespace> if you want to install it in a specific namespace.
This assumes, that Zookeeper is reachable at zk-zookeeper.<your-namespace>.svc.cluster.local:2181. If your Zookeeper address is different, you can override it with:
helm install fluss ./fluss-helm \ --set zookeeper.address=<your-zk-address>
Important Fluss options surfaced by the chart:
Set resources with requests/limits as appropriate for production. There are no defaults to make it also run on environments with little resources such as Minikube.