Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for native coordination on Kubernetes #23539

Open
1 of 2 tasks
malthe opened this issue Nov 1, 2024 · 2 comments
Open
1 of 2 tasks

Support for native coordination on Kubernetes #23539

malthe opened this issue Nov 1, 2024 · 2 comments
Labels
type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages

Comments

@malthe
Copy link

malthe commented Nov 1, 2024

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

Pulsar now has a pluggable interface for coordination and metadata services, see #572 which was resolved through PIP-45.

In Apache NiFi, they've done something similar but thus far targeting the services offered already by Kubernetes, namely the Lease API and ConfigMaps:

https://exceptionfactory.com/posts/2024/08/10/bringing-kubernetes-clustering-to-apache-nifi/

Being internally based currently on etcd, this should perform similarly.

The motivation presented at the Pulsar Summit in 2022 applies even more so here:

Small clusters → remove overhead

  • Less components to deploy
  • Easier operations

Solution

Include a coordination and metadata backend that uses native Kubernetes services.

Alternatives

In the past, people have written proxies that surface for example the ZooKeeper API on top of etcd, see zetcd. It could be argued that an entirely separated service should be written that standardizes the use of Kubernetes services for leader election and metadata needs.

Anything else?

No response

Are you willing to submit a PR?

  • I'm willing to submit a PR!
@malthe malthe added the type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages label Nov 1, 2024
@lhotari
Copy link
Member

lhotari commented Nov 1, 2024

There's etcd support already in Pulsar and BookKeeper. However there's currently an open issue #23513 which I'll come back to in the next few weeks unless someone addresses before me.
There might not be a lot of end user documentation for using other than Zookeeper at the moment, although there's also other alternatives (etcd, Oxia) available in Pulsar which also get used for BookKeeper metadata. /cc @Apurva007

@lhotari
Copy link
Member

lhotari commented Nov 1, 2024

However, I don't think that there's a recommendation to use Kubernetes internal etcd for Pulsar & BookKeeper metadata although it could be technically possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages
Projects
None yet
Development

No branches or pull requests

2 participants