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

[Feature] Implement etcd lock mechanism #4

Open
Tracked by #1
shreyas-s-rao opened this issue Oct 16, 2023 · 0 comments
Open
Tracked by #1

[Feature] Implement etcd lock mechanism #4

shreyas-s-rao opened this issue Oct 16, 2023 · 0 comments
Labels
kind/enhancement Enhancement, improvement, extension lifecycle/stale Nobody worked on this for 6 months (will further age)

Comments

@shreyas-s-rao
Copy link
Collaborator

How to categorize this issue?

/kind enhancement

What would you like to be added:
Steward should provide a package that allows components to leverage the upstream etcd lock mechanism so that they may leverage the etcd DB itself as a distributed store for coordinating activities amongst multiple steward instances. The etcd lock provides similar functionality as a Kubernetes lease, with the basic difference that steward instances need to talk to a kube-apiserver to access, read and update leases, which would require connectivity between the cluster hosting the steward instances and the cluster/infra hosting the kube-apiserver, and would also cause increased traffic for the kube-apiserver. Whereas, the use of etcd locks ensures that the steward instances coordinate with each other in a self-sustained manner, without creating excess network traffic. Since etcd provides strong consistency, steward can rely on the fact that the data it accesses is consistent across the other steward instances as well. The use of etcd locks ensures that only one steward instance has "ownership" of a particular key in the etcd DB, allowing for well-coordinated operations amongst multiple steward instances.

Why is this needed:
Part of #1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Enhancement, improvement, extension lifecycle/stale Nobody worked on this for 6 months (will further age)
Projects
None yet
Development

No branches or pull requests

2 participants