Overview
ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. The ZooKeeper operator is a Kubernetes operator that handles the provisioning and management of ZooKeeper clusters. It works by watching custom resources, such as ZookeeperClusters
, to provision the underlying Kubernetes resources (StatefulSets
) required for a production-ready ZooKeeper Cluster.
Install
Follow these steps to install the ZooKeeper operator in a workspace. This procedure results in a ZooKeeper operator running in a workspace namespace, ready to manage and create ZooKeeper clusters in any project namespaces. See the ZooKeeper custom resource documentation for more information on creating ZooKeeper clusters.
-
Follow the generic installation instructions for workspace catalog applications on the Application Deployment page.
-
Within the
AppDeployment
, update theappRef
to specify the correctzookeeper-operator
App. You can find theappRef.name
by listing the availableApps
in the workspace namespace:kubectl get apps -n ${WORKSPACE_NAMESPACE}
For details on custom configuration for the operator, please refer to the ZooKeeper operator Helm Chart documentation.
Uninstall via the CLI
Uninstalling the ZooKeeper operator will not directly affect any running ZookeeperClusters
. By default, the operator waits for any ZookeeperClusters
to be deleted before it will fully uninstall (you can set hooks.delete: true
in the application configuration to disable this behavior). After uninstalling the operator, you need to manually clean up any leftover Custom Resource Definitions (CRDs).
-
Delete all
ZookeeperClusters
, see Deleting ZooKeeper Clusters. -
Uninstall a ZooKeeper operator
AppDeployment
:kubectl -n <workspace namespace> delete AppDeployment <name of AppDeployment>
-
Remove ZooKeeper CRDs:
kubectl delete crds zookeeperclusters.zookeeper.pravega.io