/zookeeper-operator

Kubernetes operator for deploying and managing ZooKeeper, Implement OAM framework

Primary LanguageGoApache License 2.0Apache-2.0

ZooKeeper Operator

License Language GoDoc Go Report Card Average time to resolve an issue Percentage of issues still open

Overview

ZooKeeper Operator is to manage ZooKeeper service instances deployed on the Kubernetes cluster. It is built using the Kubebuilder SDK, which is part of the Kubebuilder.

Features

With this operator, you're able to deploy and manage a HA Zookeeper Cluster:

  • Provision a Zookeeper cluster in a scalable and high-available way.
  • Update the spec of the deployed Zookeeper cluster to do adjustments like replicas (scalability) and resources.
    • ScaleUp
    • ScaleDown
    • Rollout
    • Observe
  • Create Prometheus target for the Zookeeper node.
  • Delete the Zookeeper cluster and all the related resources owned by the instance.

Design

Diagram below shows the overall design of this operator,

架构图

For more design details, check the architecture document.

Installation

You can follow the installation guide to deploy this operator to your K8s clusters.

Additionally, follow sample deployment guide to have a try of deploying the sample to your K8s clusters.

Versioning & Dependencies

Component \ Versions 0.5.0 1.0.0 1.1.0
Zookeeper 3.5.6 [TBD] [TBD]
agent 0.0.1 [TBD] [TBD]

Compatibilities

Kubernetes / Versions 0.5.0 1.0.0 1.1.0
1.17 + [TBD] [TBD]
1.18 + [TBD] [TBD]
1.19 + [TBD] [TBD]

Notes: += verified -= not verified

Development

Interested in contributions? Follow the CONTRIBUTING guide to start on this project. Your contributions will be highly appreciated and creditable.

Community

Documents

See documents here.

Additional Documents

License

Apache-2.0