Slide 1

Slide 1 text

datadome.co Introduction to ArgoCD Xavier Krantz - SRE 2024-04-19 Kubernetes clusters and applications management

Slide 2

Slide 2 text

datadome.co 2 Agenda Kubernetes new paradigms How do we deploy Kubernetes applications today? Introduction to ArgoCD Q&A ? 3. 2. 1.

Slide 3

Slide 3 text

datadome.co datadome.co Kubernetes new paradigms 3 1

Slide 4

Slide 4 text

datadome.co 1 - Kubernetes new paradigms 4

Slide 5

Slide 5 text

datadome.co 1 - Kubernetes new paradigms 5

Slide 6

Slide 6 text

datadome.co 1 - Kubernetes new paradigms 6 https://kubernetes.io/docs/concepts/

Slide 7

Slide 7 text

datadome.co 1 - Kubernetes new paradigms https://kubernetes.io/docs/concepts/ 7

Slide 8

Slide 8 text

datadome.co 1 - Kubernetes new paradigms https://kubernetes.io/docs/concepts/ 8

Slide 9

Slide 9 text

datadome.co datadome.co How do we deploy Kubernetes applications today? 9 2

Slide 10

Slide 10 text

datadome.co 2 - How do we deploy today? 10

Slide 11

Slide 11 text

datadome.co 2 - How do we deploy today? 11

Slide 12

Slide 12 text

datadome.co 2 - How do we deploy today? 12

Slide 13

Slide 13 text

datadome.co 2 - How do we deploy today? 13

Slide 14

Slide 14 text

datadome.co 2 - How do we deploy today? 14

Slide 15

Slide 15 text

datadome.co 2 - How do we deploy today? 15

Slide 16

Slide 16 text

datadome.co 2 - How do we deploy today? 16

Slide 17

Slide 17 text

datadome.co 2 - How do we deploy today? 17 Challenges and pain points ● Deployment of Helm releases through Terraform’s Helm provider ● 5 level of nested code 1. Terraform “stack” 2. DataDome Terraform Module 3. Upstream Terraform module 4. DataDome Helm charts 5. Upstream Helm charts ● Change propagation flow seems complex and restrictive ● Due to the nesting of the code-base ● Terraform changes are driven by Atlantis Workflow (does not fit every team)

Slide 18

Slide 18 text

datadome.co datadome.co ArgoCD introduction 18 3

Slide 19

Slide 19 text

datadome.co 3 - ArgoCD 19

Slide 20

Slide 20 text

datadome.co 3 - ArgoCD 20

Slide 21

Slide 21 text

datadome.co https://argo-cd.readthedocs.io/en/stable/ 3 - ArgoCD 21

Slide 22

Slide 22 text

datadome.co https://argo-cd.readthedocs.io/en/stable/ A declarative, GitOps continuous delivery tool for Kubernetes. 3 - ArgoCD 22

Slide 23

Slide 23 text

datadome.co https://argo-cd.readthedocs.io/en/stable/ Features 3 - ArgoCD 23 ● Automated deployment of applications to specified target environments ● Support for multiple config management/templating tools ● Ability to manage and deploy to multiple clusters ● SSO Integration (OIDC, OAuth2, LDAP, SAML 2.0, GitHub, …) ● Multi-tenancy and RBAC policies for authorization ● Rollback/Roll-anywhere to any application configuration committed in Git repository ● Health status analysis of application resources ● Automated configuration drift detection and visualization ● Automated or manual syncing of applications to its desired state ● Web UI which provides real-time view of application activity ● CLI for automation and CI integration ● Webhook integration (GitHub, BitBucket, GitLab) ● Access tokens for automation ● PreSync, Sync, PostSync hooks to support complex application rollouts (e.g.blue/green & canary upgrades) ● Audit trails for application events and API calls ● Prometheus metrics ● Parameter overrides for overriding helm parameters in Git ● …

Slide 24

Slide 24 text

datadome.co How it can help? ● Provides a better “view” and control of Kubernetes-specific resources ○ Using ArgoCD UI ○ Using ArgoCD GitOps functionalities for Kubernetes applications deployment ● Allows a clear separation of concerns between ○ the infrastructure resources (AWS), ○ the “platform components” (Kubernetes applications), ○ and the business applications (Kubernetes applications) ● Simplifies the Kubernetes Clusters management (from SRE point of view) ● Simplifies the Kubernetes Applications deployment and management (from Non-SRE point of view) 3 - ArgoCD 24

Slide 25

Slide 25 text

datadome.co datadome.co Demo 25

Slide 26

Slide 26 text

datadome.co 26

Slide 27

Slide 27 text

datadome.co 27

Slide 28

Slide 28 text

datadome.co 28

Slide 29

Slide 29 text

datadome.co 29

Slide 30

Slide 30 text

datadome.co 30

Slide 31

Slide 31 text

datadome.co 31

Slide 32

Slide 32 text

datadome.co 32

Slide 33

Slide 33 text

datadome.co 33

Slide 34

Slide 34 text

datadome.co 34

Slide 35

Slide 35 text

datadome.co 35

Slide 36

Slide 36 text

datadome.co datadome.co Any questions? Thank you! 36

Slide 37

Slide 37 text

datadome.co Miscellaneous 37 ArgoCD topology

Slide 38

Slide 38 text

datadome.co Miscellaneous 38 ArgoCD topology (2)

Slide 39

Slide 39 text

datadome.co Miscellaneous 39 Kustomize.io

Slide 40

Slide 40 text

datadome.co Miscellaneous 40 Deployment promotion workflow