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
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
PDF
Delivering Quality at Speed with GitOps
Weaveworks
 
PDF
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
PDF
OpenShift-Technical-Overview.pdf
JuanSalinas593459
 
PDF
GitOps 101 Presentation.pdf
ssuser31375f
 
PPTX
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
PDF
Gitlab, GitOps & ArgoCD
Haggai Philip Zagury
 
PDF
Devops Porto - CI/CD at Gitlab
Filipa Lacerda
 
PPTX
Difference between Github vs Gitlab vs Bitbucket
jeetendra mandal
 
PDF
Using GitLab CI
ColCh
 
PDF
Platform Engineering
Opsta
 
PDF
Continuous Integration/Deployment with Gitlab CI
David Hahn
 
PDF
Let's build Developer Portal with Backstage
Opsta
 
PPTX
Version control
visual28
 
PDF
Gitops Hands On
Brice Fernandes
 
PDF
How to implement DevOps in your Organization
Dalibor Blazevic
 
PDF
An intro to Kubernetes operators
J On The Beach
 
PDF
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
PDF
GitOps and ArgoCD
Omar Fathy
 
PDF
Exploring the power of OpenTelemetry on Kubernetes
Red Hat Developers
 
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
Delivering Quality at Speed with GitOps
Weaveworks
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
OpenShift-Technical-Overview.pdf
JuanSalinas593459
 
GitOps 101 Presentation.pdf
ssuser31375f
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
Gitlab, GitOps & ArgoCD
Haggai Philip Zagury
 
Devops Porto - CI/CD at Gitlab
Filipa Lacerda
 
Difference between Github vs Gitlab vs Bitbucket
jeetendra mandal
 
Using GitLab CI
ColCh
 
Platform Engineering
Opsta
 
Continuous Integration/Deployment with Gitlab CI
David Hahn
 
Let's build Developer Portal with Backstage
Opsta
 
Version control
visual28
 
Gitops Hands On
Brice Fernandes
 
How to implement DevOps in your Organization
Dalibor Blazevic
 
An intro to Kubernetes operators
J On The Beach
 
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
GitOps and ArgoCD
Omar Fathy
 
Exploring the power of OpenTelemetry on Kubernetes
Red Hat Developers
 

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

PPTX
CI/CD Pipelines with kustomize design und implementation
CedricVirgilDjahan
 
PDF
Handling Kubernetes Resources
Olivier Boukili
 
PPTX
Intro to application packaging in K8 , Helm, Kustomize and Ship
Ahmad Akilan
 
PPTX
ArgoCD_Presentation overview and git ops
MahendraSahu84
 
PDF
Manage Kubernetes Clusters with Cluster API and ArgoCD
Opsta
 
PPTX
Continuous Deployment using Kubernetes
Arun Veeramani
 
PPTX
GitOps - Argo CD - GDSC WoW Punjab
TusharVilekar1
 
PDF
Environment management in a continuous delivery world (3)
Victor Iglesias
 
PPTX
Kubernetes CI/CD with Helm
Adnan Abdulhussein
 
PDF
Deploy 22 microservices from scratch in 30 mins with GitOps
Opsta
 
PDF
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeAcademy
 
PDF
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller
 
PDF
WP_The Beginners Guide to Kubernetes_2020.pdf
BoeyHe1
 
PDF
ArgoCD 的雷 碰過的人就知道 @TSMC IT Community Meetup #4
Johnny Sung
 
PDF
GitOps ⚙️⎈ Recipes 🍱 With a Spice 🌶️ of Security 🔐
Julian Mazzitelli
 
PDF
Lessons learned using GitOps
Edgaras Apšega
 
PDF
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
Marc Müller
 
PDF
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
PDF
Kubexperience intro session
Haggai Philip Zagury
 
PDF
CI/CD Across Multiple Environments
Karl Isenberg
 
CI/CD Pipelines with kustomize design und implementation
CedricVirgilDjahan
 
Handling Kubernetes Resources
Olivier Boukili
 
Intro to application packaging in K8 , Helm, Kustomize and Ship
Ahmad Akilan
 
ArgoCD_Presentation overview and git ops
MahendraSahu84
 
Manage Kubernetes Clusters with Cluster API and ArgoCD
Opsta
 
Continuous Deployment using Kubernetes
Arun Veeramani
 
GitOps - Argo CD - GDSC WoW Punjab
TusharVilekar1
 
Environment management in a continuous delivery world (3)
Victor Iglesias
 
Kubernetes CI/CD with Helm
Adnan Abdulhussein
 
Deploy 22 microservices from scratch in 30 mins with GitOps
Opsta
 
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeAcademy
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller
 
WP_The Beginners Guide to Kubernetes_2020.pdf
BoeyHe1
 
ArgoCD 的雷 碰過的人就知道 @TSMC IT Community Meetup #4
Johnny Sung
 
GitOps ⚙️⎈ Recipes 🍱 With a Spice 🌶️ of Security 🔐
Julian Mazzitelli
 
Lessons learned using GitOps
Edgaras Apšega
 
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
Marc Müller
 
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
Kubexperience intro session
Haggai Philip Zagury
 
CI/CD Across Multiple Environments
Karl Isenberg
 
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)

PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PPTX
QUARTER 1 WEEK 2 PLOT, POV AND CONFLICTS
KynaParas
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
Controller Request and Response in Odoo18
Celine George
 
PDF
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PDF
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
QUARTER 1 WEEK 2 PLOT, POV AND CONFLICTS
KynaParas
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
Controller Request and Response in Odoo18
Celine George
 
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 

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