-
Notifications
You must be signed in to change notification settings - Fork 3.4k
feat(clustermesh): Deploy in parallel the connections #35021
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
Conversation
c2b3973
to
f108fdf
Compare
f108fdf
to
e639dde
Compare
example: > cilium clustermesh connect --destination-context kindB,kindC,kindD,kindE --parallel 4 Signed-off-by: Joseph Ligier <joseph.ligier@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice addition, lgtm 👍
/test |
@thorn3r in github action integration tests, i saw a problem "github.com/cilium/cilium/operator/pkg/ciliumidentity". i don't think it's related to my feature. |
@littlejo Yeah it looks like it hit this flake. I kicked off a rerun, but doesn't appear to be related to your change 👍 |
@thorn3r i tested with
|
LGTM, thanks for the contribution. |
Context: If you manage multiple Kubernetes clusters, it can be beneficial to parallelize the connection processes. However, running
helm upgrade
in parallel consumes significant CPU resources. Therefore, it's important to customize the resource limits accordingly.Example of cli for 2 connections in parallel:
cilium clustermesh connect --destination-context kindB,kindC,kindD,kindE --parallel 2
By default
--parallel=1
How it works:
An improvement could be to parallelize both the current context and the remote contexts. However, it seems like a lot of work for minimal gain.
Example of log with timestamp (7 clusters kind and
--parallel=5
):In total it took 36 seconds (estimated with no parallel: 7x7 = ~49 seconds)
Example of log with timestamp (7 clusters kind and
--parallel=3
):In total it took 33 seconds (better option than 5 parallels because the server only has 4 vCPU)
Test on 64 EKS clusters with
--parallel=7
and Pulumi (on 8vCPU): 132s (about 7 + 9*14): YoutubePlease ensure your pull request adheres to the following guidelines:
description and a
Fixes: #XXX
line if the commit addresses a particularGitHub issue.
Fixes: <commit-id>
tag, thenplease add the commit author[s] as reviewer[s] to this issue.
Fixes: #issue-number