SlideShare a Scribd company logo
Vic Iglesias
Cloud Solutions Architect
@vicnastea
Lessons Learned from
the Charts Repo
Confidential & ProprietaryGoogle Cloud Platform 2
Vic Iglesias
● Cloud Solutions Architect
● Santa Barbara, CA
● viglesias@google.com
● @vicnastea
Agenda Slide
01
02
03
04
05
Helm 101
The kubernetes/charts Repo
Chart Structure
Chart Tricks
What’s Next?
01 Helm 101
Confidential & ProprietaryGoogle Cloud Platform 5
Helm Basics
● Helm is an OSS tool that streamlines installing and
managing Kubernetes applications.
● Helm has two parts
○ Client (helm) on your laptop or CI/CD system
○ Server (tiller) in your Kubernetes cluster
● Helm is the equivalent of Apt or Yum in the OS
packaging world
Confidential & ProprietaryGoogle Cloud Platform 6
Chart Basics
● Charts are Helm packages that contain:
○ A description of the package (Chart.yaml)
○ One or more templates, which contain Kubernetes
manifest files
● Charts can be stored locally on disk or fetched from
remote repositories
● Charts are the equivalent of Debs or RPMs in the OS
packaging world
Confidential & ProprietaryGoogle Cloud Platform 7
What is a Kubernetes “Application”?
Pods Config Volumes SecretsServices
Confidential & ProprietaryGoogle Cloud Platform 8
What is a Kubernetes “Application”?
Pods Config Volumes SecretsServices
Confidential & ProprietaryGoogle Cloud Platform 9
What is a Kubernetes “Application”?
Pods Config Volumes Services
Confidential & ProprietaryGoogle Cloud Platform 10
What is a Kubernetes “Application”?
Pods Config Volumes Services
Confidential & ProprietaryGoogle Cloud Platform 11
What is a Kubernetes “Application”?
YAML YAML YAML YAML
Confidential & ProprietaryGoogle Cloud Platform 12
Create a Config API to your Application
Pods Config Volumes Services
Confidential & ProprietaryGoogle Cloud Platform 13
Create a Config API to your Application
Pods Config Volumes Services
Confidential & ProprietaryGoogle Cloud Platform 14
Create a Config API to your Application
Pods Config Volumes Services
Config
Confidential & ProprietaryGoogle Cloud Platform 15
Create a Config API to your Application
Pods Config Volumes Services
Config
Confidential & ProprietaryGoogle Cloud Platform 16
Rollback your Application as a Unit
VERSION 1
Confidential & ProprietaryGoogle Cloud Platform 17
Rollback your Application as a Unit
VERSION 1 VERSION 2
Confidential & ProprietaryGoogle Cloud Platform 18
Rollback your Application as a Unit
VERSION 1 VERSION 2
Confidential & ProprietaryGoogle Cloud Platform 19
Rollback your Application as a Unit
VERSION 2
Confidential & ProprietaryGoogle Cloud Platform 20
Rollback your Application as a Unit
VERSION 1 VERSION 2
Confidential & ProprietaryGoogle Cloud Platform 21
Rollback your Application as a Unit
VERSION 1
Confidential & ProprietaryGoogle Cloud Platform 22
Rollback your Application as a Unit
VERSION 1 VERSION 3
Confidential & ProprietaryGoogle Cloud Platform 23
Go Templating - values.yaml
Confidential & ProprietaryGoogle Cloud Platform 24
Go Templating - templates/deployment.yaml
Confidential & ProprietaryGoogle Cloud Platform 25
Go Templating - templates/service.yaml
Confidential & ProprietaryGoogle Cloud Platform 26
Sprig Functions - templates/service.yaml
Confidential & ProprietaryGoogle Cloud Platform 27
Sprig Functions
● String Functions: trim, wrap, randAlpha, plural, etc.
● Math Functions: add, max, mul, etc.
● Date Functions: now, date, etc.
● Defaults Functions: default, empty, coalesce
● Encoding Functions: b64enc, b64dec, etc.
● Lists and List Functions: list, first, uniq, etc.
02 The kubernetes/charts repo
Confidential & ProprietaryGoogle Cloud Platform 29
What?
● https://github.com/kubernetes/charts
● Centralized repository hosting community
curated Helm Charts
● Continuous integration
● Code review provided by maintainers
● Default repository configured in Helm
Confidential & ProprietaryGoogle Cloud Platform 30
Why?
"Standards" by Randall Munroe is licensed under CC BY-NC 2.5
Confidential & ProprietaryGoogle Cloud Platform 31
Stats
● 130+ Charts
● 2000+ PRs
● ~100 Contributors
Confidential & ProprietaryGoogle Cloud Platform 32
Commits over time
Confidential & ProprietaryGoogle Cloud Platform 33
Weekly visitors
Confidential & ProprietaryGoogle Cloud Platform 34
Number of Forks
Confidential & ProprietaryGoogle Cloud Platform 35
Number of Forks
03 Chart Structure
Confidential & ProprietaryGoogle Cloud Platform 37
Chart Structure
● Chart.yaml
● values.yaml
● README.md
● requirements.yaml
● templates/
● templates/NOTES.txt
Confidential & ProprietaryGoogle Cloud Platform 38
Chart.yaml
Confidential & ProprietaryGoogle Cloud Platform 39
values.yaml
Confidential & ProprietaryGoogle Cloud Platform 40
values.yaml
Flexible
Reproducible
Start Here
Move this way
Confidential & ProprietaryGoogle Cloud Platform 41
requirements.yaml
Confidential & ProprietaryGoogle Cloud Platform 42
templates folder
Confidential & ProprietaryGoogle Cloud Platform 43
NOTES.txt
Confidential & ProprietaryGoogle Cloud Platform 44
README.md
04 Chart Tricks
Confidential & ProprietaryGoogle Cloud Platform 46
Use helm create
Confidential & ProprietaryGoogle Cloud Platform 47
Use helm create with starter templates
Confidential & ProprietaryGoogle Cloud Platform 48
Update deployments on config change
Confidential & ProprietaryGoogle Cloud Platform 49
Update deployments on config change
Confidential & ProprietaryGoogle Cloud Platform 50
Run out of band steps with hooks
Confidential & ProprietaryGoogle Cloud Platform 51
Helm Hook Types
Before or after:
● Install
● Delete
● Upgrade
● Rollback
Confidential & ProprietaryGoogle Cloud Platform 52
Allow reuse of existing PVC for data
Confidential & ProprietaryGoogle Cloud Platform 53
Allow optional ingress config
Confidential & ProprietaryGoogle Cloud Platform 54
Create a functional test (even if it is simple)
Confidential & ProprietaryGoogle Cloud Platform 55
Create a functional test (even if it is simple)
Confidential & ProprietaryGoogle Cloud Platform 56
Allow use custom ConfigMaps
Confidential & ProprietaryGoogle Cloud Platform 57
Namespace your helper templates
Confidential & ProprietaryGoogle Cloud Platform 58
Conditional Dependencies
Confidential & ProprietaryGoogle Cloud Platform 59
Conditional Dependencies
Confidential & ProprietaryGoogle Cloud Platform 60
Use toYaml to give users more flexibility
05 What’s Next?
Confidential & ProprietaryGoogle Cloud Platform 62
Future work
● Allow OWNERS file to dictate who can merge
● Delegate responsibility of charts to other Git repositories
● Purge unmaintained charts
● More functional tests for charts
Thank You!
@vicnastea
viglesias@google.com

More Related Content

PDF
Environment management in a continuous delivery world (3)
PDF
Introduction to Tekton
PDF
Kubernetes - A Rising Hero
PDF
Cloud Native CI/CD with Jenkins X and Knative Pipelines
PDF
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
PDF
Tekton showcase - CDF Summit Kubecon Barcelona 2019
PDF
Quarkus: From developer joy to Kubernetes nirvana! | DevNation Tech Talk
PDF
Introduction to Kubernetes with demo
Environment management in a continuous delivery world (3)
Introduction to Tekton
Kubernetes - A Rising Hero
Cloud Native CI/CD with Jenkins X and Knative Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Tekton showcase - CDF Summit Kubecon Barcelona 2019
Quarkus: From developer joy to Kubernetes nirvana! | DevNation Tech Talk
Introduction to Kubernetes with demo

What's hot (20)

PDF
Effective Building your Platform with Kubernetes == Keep it Simple
PDF
Continuous Deployment with Kubernetes, Docker and GitLab CI
PDF
Gitlab ci e kubernetes, build test and deploy your projects like a pro
PDF
An intro to Kubernetes operators
PDF
Containerd + buildkit breakout
PDF
CI/CD Pipeline mit Gitlab CI und Kubernetes
PDF
Extended and embedding: containerd update & project use cases
PDF
GPU enablement for data science on OpenShift | DevNation Tech Talk
PDF
4K–Kubernetes with Knative, Kafka and Kamel
PDF
ArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech Talk
PDF
Kubernetes-native or not? When should you ditch your traditional CI/CD server...
PDF
Introduction of cloud native CI/CD on kubernetes
PDF
Brief intro to K8s controller and operator
PPTX
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
PDF
Cicd pixelfederation
PDF
What you have to know about Certified Kubernetes Administrator (CKA)
PDF
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
PDF
An overview of the Kubernetes architecture
PDF
Kubernetes extensibility
PDF
Kubeflow control plane
Effective Building your Platform with Kubernetes == Keep it Simple
Continuous Deployment with Kubernetes, Docker and GitLab CI
Gitlab ci e kubernetes, build test and deploy your projects like a pro
An intro to Kubernetes operators
Containerd + buildkit breakout
CI/CD Pipeline mit Gitlab CI und Kubernetes
Extended and embedding: containerd update & project use cases
GPU enablement for data science on OpenShift | DevNation Tech Talk
4K–Kubernetes with Knative, Kafka and Kamel
ArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech Talk
Kubernetes-native or not? When should you ditch your traditional CI/CD server...
Introduction of cloud native CI/CD on kubernetes
Brief intro to K8s controller and operator
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
Cicd pixelfederation
What you have to know about Certified Kubernetes Administrator (CKA)
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
An overview of the Kubernetes architecture
Kubernetes extensibility
Kubeflow control plane
Ad

Similar to Lessons learned from the charts repo (20)

PDF
Cloud Composer workshop at Airflow Summit 2023.pdf
PDF
Francisco Javier Ramirez Urea - Hopla - OSL19
PDF
Running a Cost-Effective DynamoDB-Compatible Database on Managed Kubernetes S...
PDF
GitOps for Event-Driven Architecture -- Kube-Style! With Duncan Doyle | Curre...
PDF
Gitops Hands On
PDF
Helm Charts Security 101
PDF
Aws Deployment Tools - Overview, Details, Implementation
PDF
CI/CD Across Multiple Environments
PDF
Free GitOps Workshop + Intro to Kubernetes & GitOps
PDF
Mete Atamel "Resilient microservices with kubernetes"
PDF
2016 08-30 Kubernetes talk for Waterloo DevOps
PPTX
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
PPTX
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
PPTX
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
PDF
Getting Started with Google Cloud Platform: A Beginner’s Guide
PDF
LLMariner - Transform your Kubernetes Cluster Into a GenAI platform
PPTX
MongoDB World 2016: MongoDB + Google Cloud
PDF
Streamlining CI/CD with FME Flow: A Practical Guide
PDF
Mattia Gandolfi - Improving utilization and portability with Containers and C...
PDF
CNCF Live Webinar: Kubernetes 1.23
Cloud Composer workshop at Airflow Summit 2023.pdf
Francisco Javier Ramirez Urea - Hopla - OSL19
Running a Cost-Effective DynamoDB-Compatible Database on Managed Kubernetes S...
GitOps for Event-Driven Architecture -- Kube-Style! With Duncan Doyle | Curre...
Gitops Hands On
Helm Charts Security 101
Aws Deployment Tools - Overview, Details, Implementation
CI/CD Across Multiple Environments
Free GitOps Workshop + Intro to Kubernetes & GitOps
Mete Atamel "Resilient microservices with kubernetes"
2016 08-30 Kubernetes talk for Waterloo DevOps
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
Getting Started with Google Cloud Platform: A Beginner’s Guide
LLMariner - Transform your Kubernetes Cluster Into a GenAI platform
MongoDB World 2016: MongoDB + Google Cloud
Streamlining CI/CD with FME Flow: A Practical Guide
Mattia Gandolfi - Improving utilization and portability with Containers and C...
CNCF Live Webinar: Kubernetes 1.23
Ad

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PDF
KodekX | Application Modernization Development
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
KodekX | Application Modernization Development
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks

Lessons learned from the charts repo