SlideShare a Scribd company logo
GitOps on Kubernetes.
Managing services with ArgoCD
Dmytro Kudriavtsev
whoiam
Over9000 20y in IT:
Devops 5y
Admin 13y
Java/Python dev 2y
Typical pipeline
deploy-dev-qa..:
sed -i "s~latest~$BRANCH-$SHORT_COMMIT~g" deployment.yaml
kubectl apply -f deployment.yaml
#wrong cluster credentials
#kubectl apply -f deployment.yaml -n wrong_ns
#kubectl delete ns qa
What is GitOps
Principles of GitOps
● The entire system described declaratively.
● The canonical desired system state versioned in Git.
● Approved changes that can be automatically applied to the system.
GitOps
Key benefits of GitOps
● Deploy faster and more often.
● Easy and fast error recovery.
● Easier credential management.
● Self-documenting deployments.
● Shared knowledge in teams.
ArgoCD
Argo CD is a declarative, GitOps
continuous delivery tool for
Kubernetes.
Argo CD is implemented as a kubernetes
controller which continuously monitors
running applications and compares the
current, live state against the desired
target state (as specified in the Git repo).
ArgoCD Features
● Web UI which provides real-time view of application activity
● Automated deployment of applications to specified target environments
● Support for multiple config management/templating tools (Kustomize, Helm, Ksonnet,
Jsonnet, plain-YAML)
● Ability to manage and deploy to multiple clusters
● Rollback/Roll-anywhere to any application configuration committed in Git repository
● Health status analysis of application resources
ArgoCD Features
● Webhook integration (GitHub, BitBucket, GitLab)
● SSO Integration (OIDC, OAuth2, LDAP, SAML 2.0, GitHub, GitLab, Microsoft, LinkedIn)
● Automated or manual syncing of applications to its desired state
● CLI for automation and CI integration
● Multi-tenancy and RBAC policies for authorization
● Automated configuration drift detection and visualization
● 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 ksonnet/helm parameters in Git
Input
Kubernetes manifests can be specified in several ways:
● Plain directory of YAML/json manifests
● helm charts
● kustomize applications
● ksonnet applications
● jsonnet files
UI
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
Kustomize
Kustomize is a standalone tool to customize Kubernetes objects through a
kustomization file.
kubectl apply -k <kustomization_directory>
The three roots dev, prod and staging all refer
to the base root. One would have to inspect
the kustomization.yaml files to be sure.
An overlay is a kustomization that depends on
another kustomization. The kustomizations an
overlay refers to (via filepath, URI or other
method) bases.An overlay is unusable without
its bases.
An overlay may act as a base to another
overlay.
├── base
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── kustomization.yaml
│ └── patch.yaml
├── prod
│ ├── kustomization.yaml
│ └── patch.yaml
└── staging
├── kustomization.yaml
└── patch.yaml
Kustomize
=>
To start with Kustomize, you need to
have your original yaml files describing
any resources you want to deploy into
your cluster. Those files will be stored
for this example in the folder
./k8s/base/ .
In this example, we will work with a
service , deployment resources and
kustomization.yaml
The result of kustomize build k8s/base
command will be the following, which is for now
only the two files previously seen, concatenated:
A kustomization file contains fields falling into four categories:
● resources - what existing resources are to be customized. Example fields: resources, crds.
● generators - what new resources should be created. Example fields: configMapGenerator
(legacy), secretGenerator (legacy).
● transformers - what to do to the aforementioned resources. Example fields: namePrefix,
nameSuffix, images, commonLabels, patchesJson6902, etc. and the more general
transformers.
● meta - fields which may influence all or some of the above. Example fields: vars, namespace,
apiVersion, kind, etc.
Why kustomize?
● Purely declarative
● Template-free customization via overlays
● Easy customization for common use-cases
● Flexible tooling
Demo time!
Svc:
- Logging
- Monitoring
- Redis
- Rabbitmq
- Postgresql
- kafka
App:
- app
Install
k create namespace argocd
k apply -n argocd -f https://../argo-cd/stable/manifests/install.yaml
Download Argo CD CLI
Login Using The CLI:
k get po -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2
argocd login <ARGOCD_SERVER>
more:
https://argoproj.github.io/argo-cd/
https://github.com/argoproj/argocd-example-apps
https://kustomize.io/
https://www.weave.works/technologies/gitops/
https://www.weave.works/blog/kubernetes-anti-patterns-let-s-do-gitops-not-ciops
https://www.gitops.tech/#why-should-i-use-gitops
https://www.youtube.com/watch?v=LKOa2vMoy44
https://cluster.dev/
Tnx to
all
мамі за то шо я такий класний
Соні :3
ЗСУ/Добробатам
youtube
Ukrops
Cluster.dev
Send pm to demoontz*

More Related Content

What's hot (20)

PDF
Gitops: a new paradigm for software defined operations
Mariano Cunietti
 
PPTX
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
PPTX
Steering the Course with Helm
Dirk Jablonski
 
PPTX
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Vietnam Open Infrastructure User Group
 
PDF
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar
 
PPTX
Introduction to Helm
Harshal Shah
 
PDF
Gitops Hands On
Brice Fernandes
 
PDF
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
PDF
Jenkins vs GitLab CI
CEE-SEC(R)
 
PDF
Helm - Application deployment management for Kubernetes
Alexei Ledenev
 
PDF
GitOps 101 Presentation.pdf
ssuser31375f
 
PPTX
GitOps w/argocd
Jean-Philippe Bélanger
 
PPTX
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
PDF
GitOps - Operation By Pull Request
Kasper Nissen
 
PDF
Introduction to Red Hat OpenShift 4
HngNguyn748044
 
PPTX
Introduction to helm
Jeeva Chelladhurai
 
PDF
Openshift argo cd_v1_2
RastinKenarsari
 
PDF
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
PPTX
Kubernetes Basics
Antonin Stoklasek
 
PDF
Speeding up your team with GitOps
Brice Fernandes
 
Gitops: a new paradigm for software defined operations
Mariano Cunietti
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
Steering the Course with Helm
Dirk Jablonski
 
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Vietnam Open Infrastructure User Group
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar
 
Introduction to Helm
Harshal Shah
 
Gitops Hands On
Brice Fernandes
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
Jenkins vs GitLab CI
CEE-SEC(R)
 
Helm - Application deployment management for Kubernetes
Alexei Ledenev
 
GitOps 101 Presentation.pdf
ssuser31375f
 
GitOps w/argocd
Jean-Philippe Bélanger
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
GitOps - Operation By Pull Request
Kasper Nissen
 
Introduction to Red Hat OpenShift 4
HngNguyn748044
 
Introduction to helm
Jeeva Chelladhurai
 
Openshift argo cd_v1_2
RastinKenarsari
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
Kubernetes Basics
Antonin Stoklasek
 
Speeding up your team with GitOps
Brice Fernandes
 

Similar to DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD (20)

PDF
(Draft) Kubernetes - A Comprehensive Overview
Bob Killen
 
PDF
Kubernetes acomprehensiveoverview
Ankit Shukla
 
PDF
Kubernetes - A Comprehensive Overview
Bob Killen
 
PDF
Kubernetes a comprehensive overview
Gabriel Carro
 
PPTX
Kubernetes PPT.pptx
ssuser0cc9131
 
PDF
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
PPTX
08 - kubernetes.pptx
RanjithM61
 
PDF
Introducing github.com/open-cluster-management – How to deliver apps across c...
Michael Elder
 
PDF
Kubernetes extensibility: CRDs & Operators
SIGHUP
 
PDF
Kubernetes extensibility: crd & operators
Giacomo Tirabassi
 
PPTX
Container Orchestration using kubernetes
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
PPTX
Introduction to kubernetes
Rishabh Indoria
 
PDF
PuppetConf 2017: Kubernetes in the Cloud w/ Puppet + Google Container Engine-...
Puppet
 
PPTX
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
PPTX
Kubernetes presentation
GauranG Bajpai
 
PDF
AKS: k8s e azure
Alessandro Melchiori
 
PDF
Consul and Consul Pusher
Łukasz Cieśluk
 
PDF
Presentación11.pdf
PabloCanesta
 
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS Riyadh User Group
 
PDF
Introduction to containers, k8s, Microservices & Cloud Native
Terry Wang
 
(Draft) Kubernetes - A Comprehensive Overview
Bob Killen
 
Kubernetes acomprehensiveoverview
Ankit Shukla
 
Kubernetes - A Comprehensive Overview
Bob Killen
 
Kubernetes a comprehensive overview
Gabriel Carro
 
Kubernetes PPT.pptx
ssuser0cc9131
 
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
08 - kubernetes.pptx
RanjithM61
 
Introducing github.com/open-cluster-management – How to deliver apps across c...
Michael Elder
 
Kubernetes extensibility: CRDs & Operators
SIGHUP
 
Kubernetes extensibility: crd & operators
Giacomo Tirabassi
 
Container Orchestration using kubernetes
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Introduction to kubernetes
Rishabh Indoria
 
PuppetConf 2017: Kubernetes in the Cloud w/ Puppet + Google Container Engine-...
Puppet
 
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
Kubernetes presentation
GauranG Bajpai
 
AKS: k8s e azure
Alessandro Melchiori
 
Consul and Consul Pusher
Łukasz Cieśluk
 
Presentación11.pdf
PabloCanesta
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS Riyadh User Group
 
Introduction to containers, k8s, Microservices & Cloud Native
Terry Wang
 
Ad

More from DevOps_Fest (20)

PDF
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
PDF
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps_Fest
 
PDF
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps_Fest
 
PDF
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps_Fest
 
PDF
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps_Fest
 
PDF
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps_Fest
 
PDF
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps_Fest
 
PDF
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps_Fest
 
PDF
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps_Fest
 
PPTX
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps_Fest
 
PDF
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps_Fest
 
PPTX
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps_Fest
 
PDF
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps_Fest
 
PDF
DevOps Fest 2020. Даніель Яворович. Data pipelines: building an efficient ins...
DevOps_Fest
 
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps_Fest
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps_Fest
 
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps_Fest
 
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps_Fest
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps_Fest
 
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps_Fest
 
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps_Fest
 
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps_Fest
 
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps_Fest
 
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps_Fest
 
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps_Fest
 
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps_Fest
 
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps_Fest
 
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps_Fest
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps_Fest
 
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps_Fest
 
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps_Fest
 
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps_Fest
 
DevOps Fest 2020. Даніель Яворович. Data pipelines: building an efficient ins...
DevOps_Fest
 
Ad

Recently uploaded (20)

PDF
The-Ever-Evolving-World-of-Science (1).pdf/7TH CLASS CURIOSITY /1ST CHAPTER/B...
Sandeep Swamy
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PPSX
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PDF
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
The-Ever-Evolving-World-of-Science (1).pdf/7TH CLASS CURIOSITY /1ST CHAPTER/B...
Sandeep Swamy
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 

DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD