Zookeeper Operator in a Workspace
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 Zookeeper
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 in a Project custom resource documentation for more information on creating ZooKeeper clusters.
Only install the ZooKeeper operator once per workspace.
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:CODEkubectl get apps -n ${WORKSPACE_NAMESPACE}
For details on custom configuration for the operator, refer to the ZooKeeper operator Helm Chart documentation.
Using a image for a zookeeper cluster
To avoid the critical CVEs associated with the official zookeeper image in version v0.2.15
, a custom image must be specified when creating a zookeeper cluster.
apiVersion: "zookeeper.pravega.io/v1beta1"
kind: "ZookeeperCluster"
# ...
spec:
image:
repository: ghcr.io/mesosphere/zookeeper
tag: v0.2.15-d2iq
For more information about custom images go to Enterprise: Upgrade images used by Catalog Applications | Upgrading-a-Zookeeper-image-reference-in-a-ZookeeperCluster-resource.
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
:CODEkubectl -n <workspace namespace> delete AppDeployment <name of AppDeployment>
Remove ZooKeeper CRDs:
WARNING: After you remove the CRDs, all deployed ZookeeperClusters will be deleted!
CODEkubectl delete crds zookeeperclusters.zookeeper.pravega.io