Skip to content

helm: possibility to use kvstoremesh in kvstore identity allocation mode #39523

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

Merged
merged 1 commit into from
May 22, 2025

Conversation

balous
Copy link
Contributor

@balous balous commented May 14, 2025

This PR implements possibility to run clustermesh-apiserver with kvstore identity allocation mode. In this scenario, the clustermesh-apiserver deployment omits apiserver container but retains kvstoremesh and etcd containers. Resulting combo than acts as a cache for the data of other clusters in the mesh.

clustermesh-apiserver deployment implements a scalable, high availability etcd storage without need to set up and maintain an external etcd cluster. This PR implements easy way to use it for clusters with kvstore identity allocation mode.

This setup was allowed by implementing (optional) heartbeat in kvstoremesh container.

Please ensure your pull request adheres to the following guidelines:

  • For first time contributors, read Submitting a pull request
  • All code is covered by unit and/or runtime tests where feasible.
  • All commits contain a well written commit description including a title,
    description and a Fixes: #XXX line if the commit addresses a particular
    GitHub issue.
  • If your commit description contains a Fixes: <commit-id> tag, then
    please add the commit author[s] as reviewer[s] to this issue.
  • All commits are signed off. See the section Developer’s Certificate of Origin
  • Provide a title or release-note blurb suitable for the release notes.
Implemented optional etcd cache for remote cluster's data in `kvstore` identity allocation mode.

@balous balous requested review from a team as code owners May 14, 2025 06:21
@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label May 14, 2025
@github-actions github-actions bot added the kind/community-contribution This was a contribution made by a community member. label May 14, 2025
@giorio94 giorio94 added release-note/minor This PR changes functionality that users may find relevant to operating Cilium. area/clustermesh Relates to multi-cluster routing functionality in Cilium. labels May 14, 2025
@maintainer-s-little-helper maintainer-s-little-helper bot removed dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. labels May 14, 2025
@giorio94 giorio94 added the dont-merge/blocked Another PR must be merged before this one. label May 14, 2025
Copy link
Member

@giorio94 giorio94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I've left a couple of initial comments inline, but overall looks good to me. The failure in https://github.com/cilium/cilium/actions/runs/15013707530/job/42186994377?pr=39523 is also legitimate.

I'll perform the final tests + review once the other PR gets merged.

@balous balous marked this pull request as draft May 15, 2025 05:21
@giorio94 giorio94 removed the dont-merge/blocked Another PR must be merged before this one. label May 19, 2025
@balous balous force-pushed the apiserver-kvstore branch 2 times, most recently from c54c562 to f0f3ef5 Compare May 19, 2025 19:49
@balous balous requested a review from giorio94 May 19, 2025 20:07
@balous balous marked this pull request as ready for review May 20, 2025 07:11
@giorio94
Copy link
Member

/test

@giorio94 giorio94 changed the title draft: helm: possibility to use clustermesh-apiserver in kvstore identity allocation mode helm: possibility to use kvstoremesh in kvstore identity allocation mode May 20, 2025
Copy link
Member

@gandro gandro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! One minor typo

@gandro
Copy link
Member

gandro commented May 20, 2025

/test

@balous balous force-pushed the apiserver-kvstore branch from e80baac to b638f73 Compare May 20, 2025 19:35
@giorio94
Copy link
Member

@balous Could you please squash the two commits together? I'll retrigger the tests afterwards.

The apiserver than omits 'apiserver' container but retains 'kvstoremesh' and 'etcd'.
This combo than acts as caching etcd for the rest of the clustermesh.

Signed-off-by: Petr Baloun <petr.baloun@firma.seznam.cz>
@balous balous force-pushed the apiserver-kvstore branch from b638f73 to b5af306 Compare May 21, 2025 07:03
@balous
Copy link
Contributor Author

balous commented May 21, 2025

@balous Could you please squash the two commits together? I'll retrigger the tests afterwards.

Squashed.

@giorio94
Copy link
Member

/test

@giorio94 giorio94 enabled auto-merge May 21, 2025 07:12
@balous balous marked this pull request as draft May 21, 2025 14:04
auto-merge was automatically disabled May 21, 2025 14:04

Pull request was converted to draft

@balous balous marked this pull request as ready for review May 21, 2025 14:24
@giorio94 giorio94 enabled auto-merge May 22, 2025 06:29
@giorio94 giorio94 added this pull request to the merge queue May 22, 2025
@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label May 22, 2025
Merged via the queue into cilium:main with commit b79ead2 May 22, 2025
66 of 67 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/clustermesh Relates to multi-cluster routing functionality in Cilium. kind/community-contribution This was a contribution made by a community member. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/minor This PR changes functionality that users may find relevant to operating Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants