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

upgrade of the trifecta components #2151

Open
1 of 2 tasks
johndietz opened this issue Apr 10, 2024 · 5 comments
Open
1 of 2 tasks

upgrade of the trifecta components #2151

johndietz opened this issue Apr 10, 2024 · 5 comments
Assignees
Labels
feature Something new

Comments

@johndietz
Copy link
Member

What is your feature idea?

ingress-nginx, cert-manager, and external-dns applications need to upgrade to the latest helm charts.

when you provision a new kubefirst management platform (any cloud), the version of these apps will be outdated from latest available. for ease of documentation in this example, we'll assume a github org of kubefunk.net and a mgmt cluster named mgmt-funknet

step 1: the mgmt cluster

the charts for these 3 components on the mgmt stack are defined at:
https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/ingress-nginx/application.yaml#L14
https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/ingress-nginx/application.yaml#L14
https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/cert-manager/application.yaml#L12

upgrading each to their latest chart, and then refreshing their app in argocd, and confirming health is step 1.

step 2: physical and virtual workload clusters
those upgraded components can also be applied to new clusters created by this mgmt stack. to upgrade physical cluster provisioning, you'll need to update:
https://github.com/kubefunk-net/gitops/blob/main/templates/workload-cluster/30-ingress-nginx.yaml#L14
https://github.com/kubefunk-net/gitops/blob/main/templates/workload-cluster/30-cert-manager.yaml#L14
https://github.com/kubefunk-net/gitops/blob/main/templates/workload-cluster/30-external-dns.yaml#L12

once you update these in the templates, you can test how well they orchestrate by going to kubefirst console on this stack, creating a physical cluster, and confirming health on these 3 resources on the new physical cluster in argocd.

repeat these steps for virtual clusters templating:
https://github.com/kubefunk-net/gitops/blob/main/templates/workload-vcluster/30-ingress-nginx.yaml#L14
https://github.com/kubefunk-net/gitops/blob/main/templates/workload-vcluster/30-cert-manager.yaml#L14
https://github.com/kubefunk-net/gitops/blob/main/templates/workload-vcluster/30-external-dns.yaml#L12

test with creation of a virtual cluster and confirming health in argocd.

step 3:
whatever changeset was required to get this stack operational, needs to be promoted up to the gitops-template repository, so that mgmt clusters will begin with the right charts and templates. there will be corresponding files for each of the files listed in steps 1 and 2 in the gitops-template. for example:
kubefunk stack:

all of the cloud stacks need these updates in the gitops-template. to test, provision a new stack using your gitops-template branch, and confirm that you can provision a new mgmt cluster, and then confirm that kubefirst instance can create a new physical and virtual cluster that provisions to 100% health in argocd in its registry.

Why is it needed?

cloud native never sleeps

Is this missing feature preventing you from using kubefirst?

  • Yes

Code of Conduct

  • I agree to follow this project's Code of Conduct
@johndietz johndietz added the feature Something new label Apr 10, 2024
@chadmcrowell
Copy link

Thanks for the incredible detail @johndietz !! One question: Could I find the external-dns here: https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/external-dns/application.yaml

@chadmcrowell
Copy link

pull request for step 1: https://github.com/gitops-ing/gitops/pull/1

@chadmcrowell
Copy link

All green / health confirmed after ugrade 👍 . Proceeding to step 2

@chadmcrowell
Copy link

pull request for step 2: https://github.com/gitops-ing/gitops/pull/2

@chadmcrowell
Copy link

pull request for virtual clusters (within step 2): https://github.com/gitops-ing/gitops/pull/3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Something new
Projects
Status: No status
Development

No branches or pull requests

2 participants