There are three ways to run the ZooKeeper Operator:

  1. Helm managed Docker container deployment on Kubernetes

  2. As a Docker container

  3. Build from source.


Helm allows you to download and deploy Stackable operators on Kubernetes and is by far the easiest installation method. First ensure that you have installed the Stackable Operators Helm repository:

$ helm repo add stackable

Then install the Stackable Operator for Apache ZooKeeper

$ helm install zookeeper-operator stackable/zookeeper-operator

Helm will deploy the operator in a Kubernetes container and apply the CRDs for the Apache ZooKeeper service. You’re now ready to deploy Apache ZooKeeper in Kubernetes.


This Operator is published as a Docker image:

When installing manually with Docker you will need to install the Stackable CRDs for Apache ZooKeeper in your Kubernetes environment. These are available on the Stackable GitHub repository for this operator.

$ sudo kubectl apply -f zookeepercluster.crd.yaml
$ sudo kubectl apply -f zookeeperznode.crd.yaml

To run it straight from Docker you can use this command:

docker run \
    --name zookeeper-operator \
    --network host \
    --env KUBECONFIG=/home/stackable/.kube/config \
    --mount type=bind,source="$HOME/.kube/config",target="/home/stackable/.kube/config" \

Building the operator from source

This operator is written in Rust and is developed against the latest stable Rust release (1.56 at the time of writing).

cargo build