-
Notifications
You must be signed in to change notification settings - Fork 208
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
helm mode: add implementation for clustermesh connect #1628
Conversation
8aaa5a8
to
09b4047
Compare
Converting to draft to fix |
ff8ad73
to
8b5f512
Compare
I've tested this PR trying to connect more than two clusters, and it seems to overwrite the previous configuration rather than adding the new cluster (as the legacy implementation did). |
Great suggestions all, working on it |
8b5f512
to
2ade061
Compare
7aebb66
to
0ff0859
Compare
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.
Overall, the PR looks OK to me, I've left a few minor comments inline. Additionally, there seems to be something wrong with the merging logic, since the cilium clustermesh connect
command fails with Error: Unable to connect cluster: existing clustermesh.config.cluters array is invalid
when issued a second time.
0ff0859
to
ec41572
Compare
ec41572
to
7d1f94a
Compare
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.
Looks awesome to me! Just a couple of very minor nits inline. I guess that the last missing piece is now the clustermesh disconnect
support.
I pushed this rebased commit ce4d16c but GitHub PR's are currently having issues and it has not shown up here. |
82eedfc
to
279eaf1
Compare
279eaf1
to
ce4d16c
Compare
Signed-off-by: Andrew Sauber <[email protected]>
Previously, if CA certificates did not match among clusters during clustermesh connect, we would bail out of the connect process. Now, upon a mismatch, present a warning to the user that multicluster features will be degraded, and use the per-cluster PKI configuration in the Helm chart to configure key material for each cluster. Signed-off-by: Andrew Sauber <[email protected]>
ce4d16c
to
0abeec8
Compare
Add an implementation for
clustermesh connect
using Helm.Like the classic mode implementation, we autodetect the
clustermesh-apiserver
IPs and port numbers in order to write theendpoints:
configuration. However, rather than generate the certificates in-process, we rely on thecronJob
(certgen) mode of the Helm chart to generate (and re-generate) all of the ClusterMesh related certs.As a first pass, we support the same set of flags as the classic mode.
A second pass PR will include all
--helm-*
flags, which will allow the use ofextraDnsNames
for the purpose of Service resolvability, and the use of other PKI modes.Fixes: #1620