SlideShare a Scribd company logo
Config management for
Kubernetes: GitOps + Helm
Tomasz Tarczyński, Gigaset
Agenda
@ttarczynski
1. Configuration Management
2. Why GitOps
3. Demo: Flux
4. Demo: Helm
5. Demo: Flux Helm Operator
Configuration Management
@ttarczynski
● Infrastructure as a Code
● GIT – as a single source of truth
● Tools:
Ansible / Chef / Puppet / Salt
Puppet
@ttarczynski
● Declarative: describe the desired state
● Modules: public and private
● Templates: ERB
● DSL: a simple and constrained language
● Code / data separation: Hiera
Kubernetes
@ttarczynski
● Control plane provides a Declarative API
● Declare the desired state
● Control plane makes sure that the actual
state converges to the desired state
Kubernetes: Why GitOps
@ttarczynski
● Can we declare all the state in GIT?
And expect the system to converge.
Kubernetes: Why GitOps
@ttarczynski
● Can we declare all the state in GIT?
And expect the system to converge.
○ Track history
Kubernetes: Why GitOps
@ttarczynski
● Can we declare all the state in GIT?
And expect the system to converge.
○ Track history
○ Easy rollback
Kubernetes: Why GitOps
@ttarczynski
● Can we declare all the state in GIT?
And expect the system to converge.
○ Track history
○ Easy rollback
○ Disaster Recovery
Kubernetes: Why GitOps
@ttarczynski
● Configuration Management:
Declarative vs Imperative
GitOps: How
@ttarczynski
Kubernetes
API
push
container images
kubectl apply
pull
GitOps: How
@ttarczynski
● Flux CD: a GitOps operator
○ Runs in the cluster
○ Synchronizes the cluster state with a GIT repo
○ CNCF sandbox project
GitOps: How
@ttarczynski
Kubernetes
API
push
container images
kubectl apply
pull
GitOps: How
@ttarczynski
Kubernetes
API
Flux CD
push
container images
commit
kubectl apply
sync
pull
images metadata
apply / delete
GitOps
@ttarczynski
Demo
https://github.com/ttarczynski/gitops-demo
GitOps: Why Helm
@ttarczynski
● We declared all the state in GIT
● But can we have something like modules?
GitOps: Why Helm
@ttarczynski
● Helm: The package manager for Kubernetes
○ find, share, and use software built for Kubernetes
GitOps: Why Helm
@ttarczynski
● Manage complexity: describe complex apps
GitOps: Why Helm
@ttarczynski
● Manage complexity: describe complex apps
● Easy updates: in-place upgrades and custom hooks
GitOps: Why Helm
@ttarczynski
● Manage complexity: describe complex apps
● Easy updates: in-place upgrades and custom hooks
● Simple sharing: public / private repo
GitOps: Why Helm
@ttarczynski
● Manage complexity: describe complex apps
● Easy updates: in-place upgrades and custom hooks
● Simple sharing: public / private repo
● Rollbacks: roll back to an older version with ease
Helm
@ttarczynski
Demo
https://github.com/ttarczynski/gitops-demo
GitOps + Helm
@ttarczynski
● Flux Helm Operator:
○ automates Helm Chart releases
○ Kubernetes custom resource named HelmRelease
○ charts are released as specified in HelmRelease
GitOps + Helm
@ttarczynski
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
spec:
releaseName: demo
chart:
git: git@github.com:ttarczynski/gitops-demo.git
path: charts/demo
values:
…
Credit: https://fluxcd.io
GitOps + Helm
GitOps + Helm
@ttarczynski
Demo
https://github.com/ttarczynski/gitops-demo
GitOps
@ttarczynski
● The entire system is described declaratively
● The canonical desired system state is
versioned (with Git)
● Approved changes to the desired state are
automatically applied to the system
● Software agents ensure correctness
GitOps
@ttarczynski
● Declarative:
● Modules:
● Templates:
● DSL / general-purpose language:
● Code / data separation:
GitOps
@ttarczynski
● Declarative: k8s + Flux CD
● Modules:
● Templates:
● DSL / general-purpose language:
● Code / data separation:
GitOps
@ttarczynski
● Declarative: k8s + Flux CD
● Modules: Helm charts
● Templates:
● DSL / general-purpose language:
● Code / data separation:
GitOps
@ttarczynski
● Declarative: k8s + Flux CD
● Modules: Helm charts
● Templates: Helm / Go template
● DSL / general-purpose language:
● Code / data separation:
GitOps
@ttarczynski
● Declarative: k8s + Flux CD
● Modules: Helm charts
● Templates: Helm / Go template
● DSL / general-purpose language:
● Code / data separation:
GitOps
@ttarczynski
● Declarative: k8s + Flux CD
● Modules: Helm charts
● Templates: Helm / Go template
● DSL / general-purpose language:
● Code / data separation: kustomize ?
Agenda
@ttarczynski
1. Configuration Management
2. Why GitOps
3. Demo: Flux
4. Demo: Helm
5. Demo: Flux Helm Operator
GitOps: Flux docs
@ttarczynski
● fluxcd.io
● docs.fluxcd.io
● github.com/fluxcd/helm-operator-get-started
● github.com/ttarczynski/gitops-demo
Thanks!
Tomasz Tarczynski
@ttarczynski
Frequently Asked Questions
@ttarczynski
● How to manage secrets?
Frequently Asked Questions
@ttarczynski
● How to manage secrets?
○ github.com/bitnami-labs/sealed-secrets
○ github.com/mozilla/sops
○ git-secret.io
○ HashiCorp Vault
Frequently Asked Questions
@ttarczynski
● How to manage multiple environments?
Frequently Asked Questions
@ttarczynski
● How to manage multiple environments?
○ Branch-per-environment
○ Directory-per-environment
○ Kustomize overlays
○ github.com/fluxcd/flux/issues/1071
Frequently Asked Questions
@ttarczynski
● What version of Helm is supported?
Frequently Asked Questions
@ttarczynski
● What version of Helm is supported?
○ Both:
Helm v2 – GA
Helm v3 – beta (in Helm Operator)

More Related Content

PDF
Introduction to Kubernetes and GKE
PDF
Config management for kubernetes: GitOps + Helm
PDF
Configuration Management for the Cloud Native world with GitOps and Helm - To...
PDF
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
PPTX
Building CI/CD Pipelines with Jenkins and Kubernetes
PDF
CI/CD with Openshift and Jenkins
PDF
Kubernetes-native or not? When should you ditch your traditional CI/CD server...
PDF
What you have to know about Certified Kubernetes Administrator (CKA)
Introduction to Kubernetes and GKE
Config management for kubernetes: GitOps + Helm
Configuration Management for the Cloud Native world with GitOps and Helm - To...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Building CI/CD Pipelines with Jenkins and Kubernetes
CI/CD with Openshift and Jenkins
Kubernetes-native or not? When should you ditch your traditional CI/CD server...
What you have to know about Certified Kubernetes Administrator (CKA)

What's hot (20)

PDF
How to Become DevOps
PDF
[GID Live] Open-Source Cloud-Native Programming Language
PPTX
Helm at reddit: from local dev, staging, to production
PDF
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
PDF
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
PDF
Cicd pixelfederation
PDF
DevOps: The Future of Software Development
PDF
Kubernetes Logging
PDF
Deploying Anything as a Service (XaaS) Using Operators on Kubernetes
PDF
Journey of Kubernetes Scaling
PPTX
Getting Started with Kafka on k8s
PDF
Real World CI/CD with Kubernetes
PDF
Accelerate your business and reduce cost with OpenStack
PDF
Paris Container Day 2016 : Retour sur DockerCon 16', faits marquants (Docker)
PDF
16. Cncf meetup-docker
PDF
Swarm migration
PDF
Beyond OpenStack | OpenStack in Real Life
PPTX
Why observability matters - now and in the future (w/guest Grafana)
PDF
Continuous Deployment with Kubernetes, Docker and GitLab CI
PDF
OSDC 2018 - Distributed monitoring
How to Become DevOps
[GID Live] Open-Source Cloud-Native Programming Language
Helm at reddit: from local dev, staging, to production
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
Cicd pixelfederation
DevOps: The Future of Software Development
Kubernetes Logging
Deploying Anything as a Service (XaaS) Using Operators on Kubernetes
Journey of Kubernetes Scaling
Getting Started with Kafka on k8s
Real World CI/CD with Kubernetes
Accelerate your business and reduce cost with OpenStack
Paris Container Day 2016 : Retour sur DockerCon 16', faits marquants (Docker)
16. Cncf meetup-docker
Swarm migration
Beyond OpenStack | OpenStack in Real Life
Why observability matters - now and in the future (w/guest Grafana)
Continuous Deployment with Kubernetes, Docker and GitLab CI
OSDC 2018 - Distributed monitoring
Ad

Similar to Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020) (20)

PDF
How to manage Kubernetes at scale with just git
PDF
WTF is GitOps and Why You Should Care?
PDF
WTF is GitOps & Why Should You Care?
PDF
The journey to GitOps
PDF
Hands-on GitOps Patterns for Helm Users
PDF
GitOps & Flux - A Refresher with Priyanka Ravi
PDF
GitOps with Flux - IPC Munich 2022
PDF
GitOps 101 Presentation.pdf
PDF
GitOps Toolkit (Cloud Native Nordics Tech Talk)
PDF
GitOps for Helm Users by Scott Rigby
PDF
GitOps (& Flux) for Helm Users with Scott Rigby
PPTX
Leveraging Helm to manage Deployments on Kubernetes
PDF
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
PDF
Free GitOps Workshop + Intro to Kubernetes & GitOps
PDF
20221130 - Luxembourg HUG Meetup
PDF
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
PDF
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
PDF
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
PDF
Flux Beyond Git Harnessing the Power of OCI
PDF
Flux Beyond Git Harnessing the Power of OCI
How to manage Kubernetes at scale with just git
WTF is GitOps and Why You Should Care?
WTF is GitOps & Why Should You Care?
The journey to GitOps
Hands-on GitOps Patterns for Helm Users
GitOps & Flux - A Refresher with Priyanka Ravi
GitOps with Flux - IPC Munich 2022
GitOps 101 Presentation.pdf
GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps for Helm Users by Scott Rigby
GitOps (& Flux) for Helm Users with Scott Rigby
Leveraging Helm to manage Deployments on Kubernetes
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Free GitOps Workshop + Intro to Kubernetes & GitOps
20221130 - Luxembourg HUG Meetup
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Flux Beyond Git Harnessing the Power of OCI
Flux Beyond Git Harnessing the Power of OCI
Ad

More from Tomasz Tarczyński (9)

PDF
Kubernetes Network Observability with Cilium and Hubble
PDF
Day 2 Operations for Kubernetes Networking with Cilium
PDF
Learning Terraform While Building a Reference Repository of Code Examples
PDF
Kubernetes Config Management Landscape
PDF
What is Cloud Native and why should I care
PDF
What is Cloud Native, and why should I care?
PDF
Evolution of the IoT backend platform. From a monolith to microservices and t...
PDF
IoT backend architecture
PDF
#Monitoringlove in 2017
Kubernetes Network Observability with Cilium and Hubble
Day 2 Operations for Kubernetes Networking with Cilium
Learning Terraform While Building a Reference Repository of Code Examples
Kubernetes Config Management Landscape
What is Cloud Native and why should I care
What is Cloud Native, and why should I care?
Evolution of the IoT backend platform. From a monolith to microservices and t...
IoT backend architecture
#Monitoringlove in 2017

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Modernizing your data center with Dell and AMD
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
Review of recent advances in non-invasive hemoglobin estimation
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Big Data Technologies - Introduction.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Modernizing your data center with Dell and AMD

Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)