Our implementation of multi-cluster FluxCD. Need advice. #4896
Unanswered
alexandrtru
asked this question in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Our implementation of multi-cluster FluxCD
Hi, fluxcd team!
Sorry if is duscuss somewhere.
In our company, we search the easy, flexibility and pull-model way to manage kuberenetes clusters (hundreds of clusters, and its count increase). We are experimented a lot with fluxcd and find the solution that covered most all of needs, but i have some doubts about this because it's looks like trick. So, if you can give some advice or warnings about our way using fluxcd, we will be grateful.
Core concept may called as "Cascade Kustomize", when we generate downstream
Kustomization (kustomize.toolkit.fluxcd.io/v1)
using.spec.postBuild
in upstream (entrypoint)Kustomization
.So, our "entrypoint" for each cluster looks like:
Note: we provide
cluster-vars
configmap at deploy cluster, and fill it with necessary for substitution variables.One of "downstream" kustomize looks like:
As we can see substitution used in
.spec.components
and we targeting to some kind of patches (or components) for basic configuration placed in./apps/vector
in this (or remote) git-repository.And in general terms that's all :) Main and killer benefit of this scheme - we are able applying patches to basic configuration in order what we need by using information that cluster tell to us via configmap. It is sufficient flexibility level for our swarm of clusters and teams that works with our clusters.
PROS:
kustomizes
) and configurationCONS/doubts:
.spec.components
).spec.components
) we use, the more we must generate empty (mock) components for prevent kustomize fail.QUESTIONS/suggestions:
.spec.components
. Do you plan for delete this feature?kustomization.yml
withresources: []
, and place it in right places, and etc. We can try write new feature gate for kustomize-controller, that make kustomizes more fault tolerate in case if component not exists at filesystem. What your opinion to this?It's all what i want to share.
Thanks for your work.
Beta Was this translation helpful? Give feedback.
All reactions