OOM Meeting Notes - 2021-11-24
Agenda: How DT deploys ONAP with the help of Argo CD
This presentation was recorded by @Sylvain Desbureaux and available here:
This page basically acts as my PowerPoint presentation, but without PowerPoint and as GardWiki page.
It should be treated like an outline, which should give you all the good links and a basic outline, of how we use Argo CD at DT for ONAP.
Who I am
I am Flori from Frankfurt, Germany (remember, there was I ONAP release named Frankfurt as well).
I am at DT since 2013. Currently I am the PO of the "System Team" of TNAP.
My biggest professional success: I kickstarted the Magenta Speaker in DT, where I was the Architect/Techlead (which was a.k.a Orange's Djingo https://www.telekom.com/en/media/media-information/consumer-products/with-smart-speaker-your-home-listens-to-your-command-508276).
My biggest challenge, I try to eat all the cake & chocolate of the world (only the good one)
You can find me on twitter: https://twitter.com/florianbachmann
Argo CD
There is no CI/CD
There are Cl and CD!
The official Argo CD page:
So Argo CD helps us, doing GitOPs, but what is GitOPs, and basically why is it important, was perfectly answered by Cornelia Davis
A more recent recorded version of that talk exists as well:
GitOps Is Likely More Than You Think It Is (only 21 views, I was one of them). Both talks are 99% similar, but the first one is more on point.
The slides of the two talks can be found here:
https://static.sched.com/hosted_files/kccncna20/39/GitOpsIsMoreThanYouThink.pdf
Remark:
Show slide 3 - What is GitOps
Show slide 17 - Decouple CI from CD
Argo CD - a tool for CD, but what says the CNCF Landscape about it.
CNCF Landscape - Continuous Integration & Delivery
There are at least 44 tools regarding CI & CD. (checked Nov 24, 2021 )
Why Argo and not Flux
And consider: CNCF - The Trail Map
Argo CD at TNAP
Recently Andreas and Marc gave a talk:
Two scenarios:
Deploy gitlab runner into one k8s cluster
Just for learning and getting a feeling
The runner settings in Gitlab
install the runner in a different cluster like tesla-dev
start with version 0.33.1 update it later to 0.34.0
add it to all kustomization.yaml's
gitlab-runner-k8s.yaml
--- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: gitlab-runner namespace: argocd annotations: argocd.argoproj.io/sync-wave: "0" spec: project: argo-management syncPolicy: automated: prune: false selfHeal: true destination: namespace: tnap server: https://kubernetes.default.svc source: repoURL: https://charts.gitlab.io chart: gitlab-runner targetRevision: 0.33.1 helm: values: | imagePullSecrets: - name: tnap-docker-registry-key imagePullPolicy: Always gitlabUrl: "https://whatever_url_we_have/" runnerRegistrationToken: "whatever_token" runners: tags: "tnaplab_k8s_test_oom_test_demostration" name: "tnaplab_k8s_test_oom_test_demostration"
kustomization.yaml
--- kind: Kustomization apiVersion: kustomize.config.k8s.io/v1beta1 resources: - gitlab-runner-k8s.yaml
kustomization.yaml
--- kind: Kustomization apiVersion: kustomize.config.k8s.io/v1beta1 resources: - ... - ... - gitlab-runner-k8s/
now update it to version 0.34.0
Update an existing ONAP component
oom from onap
In our case, we split the oom repo into several repos. One helm chart repo for each onap component.
and yesterday we had the increase the internal version number of dmaap (from 8.0.1 to 8.0.1-1)
and we put it into our artifactory (JFrog), similar to nexus
Now we need to update it in our argo-management repo to the version 8.0.1-1 as well
and watch it in Argo CD, how it is being updated
Outlook were we like to get better:
https://static.sched.com/hosted_files/kccncna20/39/GitOpsIsMoreThanYouThink.pdf
Remark:
Show slide 21 to 24 (pull request automatisation) → hint https://github.com/argoproj-labs/argocd-image-updater
Show slide 26 (Environment Customizations) - use a base config with kustomize
Notifications: https://argocd-notifications.readthedocs.io/en/stable/services/slack/
Summary of Argo:
More from Argo / other projects:
All from: The Argo Ecosystem: Tailoring Your Installation Through Comm... Jesse Suen & Alexander Matyushentsev
Offtopic/Backup:
argo-management repo has linters in place
If you like to watch 2 talks - watch these:
The Argo Ecosystem: Tailoring Your Installation Through Comm... Jesse Suen & Alexander Matyushentsev
and of course the one mention above from (Both talks are 99% similar, but the first one is more on point):