SlideShare a Scribd company logo
1 of 14
Download to read offline
Helm
•How do I pack all or some of my contents (read as K8s
objects) as a single luggage to be delivered
•Someone on the other ship wants to use the conents on
my ship? I’m scared if I pick all the loose contents, I
might drop some into the sea


•Wait! What was my last location? How am I even
supposed to go back from this not-so-good-place (read
as last state)
•You want to search(read monitor) my ship? NO! Not
till you are from the “audit” department
In the first place, why
even did you try riding me

without my HELM?
No Helm?
The Power of Helm
•Package Manger
•The archivist. Of YAMLs
•Templating Engine
•Add some sense(read as logic) to your YAMLs!
•Charts
•Repository: artifacthub.io |
bitnami | appscode etc
•Release- e.g: prod, dev

•Revisions
•helm repo add

•helm search hub

•helm search repo

•helm install

•helm list
•helm upgrade

•helm uninstall

•helm pull
•helm --help

•helm rollback

•helm history
Helm Basics
Revision1
Revision2
Revision3
Revision1
Revision2
helm metadata as secrets
K8s cluster
Release1Release2
Chart Repo
Chart Repo
Cluster
master
Tiller
kube-

apiserver
Cluster
master
kube-
apisfeffrver
v2
v3
Architecture
Helm

CLI
Helm

CLI
•Kubernetes did not have RBAC policies
around <1.16
•It kept multiple resources consistent across
our clusters
•Rollbacks
•It worked way more frequently than it didn’t
•Security: cluster-wide access —> privilege
escalation attacks if not properly secured
•Deployment of already complex tools like
Istio was difficult as Tiller was buggy and
unstable
•Securing tiller was a humongous task

•Deployment pipelines would fail at times due
to false errors generated in Helm2
Why Tiller; Why No Tiller?
•2-way vs 3-way strategic merge patch
•Namespaces are now not created automatically
•Helm serve removed; its available as a plugin
•Release name is now not automatically generated
•Values provided by the user can be forced to follow a particular JSON schema

•Secrets are used instead of configMaps (with a secret type of helm.sh/release)
as the default storage driver
v2 vs v3
Charts: Structure; Configuration; Creation
•Chart directory/
•Chart.yaml
•templates/
•templates/k8sYAMLs
•templates/*.tpl
•templates/NOTES.txt
•values.yaml
•tests/- write some tests to validate your charts
Objects

•Release

•Values

•Charts

•Files

•Capabilities
•Referencing variables: {{ .Objects.variableName }}
Almost every time, customisations will be done using the values.yamls
values.yaml and objects
Flow Control, Functions and Pipelines
Providing logic to Helm charts … or lets say kubernetes YAMLs
•Conditionals: If/Else in Helm
•Functions: quote, upper, lower
•Operators are also functions (eq, ne, lt, gt, and, or)
•Pipe- ‘|’ . - use output of one function for further processing
•Range: for-each loop for helm
•Scopes- similar to scope of a variable in
normal programming languages
•the dot(.) operator points to the current
scope
•the dollar($) operator points to the root
scope
Scopes; Ranges
$.Chart.Name

.Release.Name
•Used for removal of code duplication
and the need of rewriting code or some
code portions
•Present in the templates/ folder
•_ indicates to helm to not consider it as

a normal template file so that it is not
processed as a YAML file
metadata:
name: {{ .Release.Name }}-nginx

labels:
{{- template "labels" . }}
{{- define "labels" }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}

{{- end }}
_NamedTemplates.tpl
•pre-upgrade hook | post-upgrade hook

•pre-install hook | post-install hook

•pre-delete hook | post-delete hook

•pre-rollback hook | post-rollback hook

•test
Hook Deletion Policies
•hook-succeeded
•hook-failed
•before-hook-creation
Use to run specific tasks before/after running the main kubernetes objects
annotations:
"helm.sh/hook": pre-upgrade
One-off tasks: Chart Hooks
•Feedback? YES PLEASE!

•Appreciation? Would love to hear!

•Criticism? Sure, sure
Thank You
“Hope you liked it”

More Related Content

Similar to What is Helm?

Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumContinuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumCodefresh
 
Java Hands-On Workshop
Java Hands-On WorkshopJava Hands-On Workshop
Java Hands-On WorkshopArpit Poladia
 
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)srisatish ambati
 
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)Alexandre Rafalovitch
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018David Stockton
 
Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformBob Killen
 
Performance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersPerformance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersNLJUG
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumNgoc Dao
 
Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure DataTaro L. Saito
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder
 
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesAlexei Ledenev
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
 
React Development with the MERN Stack
React Development with the MERN StackReact Development with the MERN Stack
React Development with the MERN StackTroy Miles
 

Similar to What is Helm? (20)

Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumContinuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum
 
Java Hands-On Workshop
Java Hands-On WorkshopJava Hands-On Workshop
Java Hands-On Workshop
 
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
 
Helm.pptx
Helm.pptxHelm.pptx
Helm.pptx
 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
 
Java and the JVM
Java and the JVMJava and the JVM
Java and the JVM
 
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
 
helm101.pdf
helm101.pdfhelm101.pdf
helm101.pdf
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
 
London Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in ProductionLondon Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in Production
 
Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research Platform
 
JS Essence
JS EssenceJS Essence
JS Essence
 
Performance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersPerformance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen Borgers
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and Xitrum
 
Python for lab_folk
Python for lab_folkPython for lab_folk
Python for lab_folk
 
Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
 
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for Kubernetes
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
React Development with the MERN Stack
React Development with the MERN StackReact Development with the MERN Stack
React Development with the MERN Stack
 

More from BelleHenry

Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started BelleHenry
 
AWS Application Load balancer
AWS Application Load balancerAWS Application Load balancer
AWS Application Load balancerBelleHenry
 
How It Works ZIP?
How It Works ZIP?How It Works ZIP?
How It Works ZIP?BelleHenry
 
Java Developer Skills Set
Java Developer Skills SetJava Developer Skills Set
Java Developer Skills SetBelleHenry
 
Understanding AI vs ML vs DL
Understanding AI vs ML vs DLUnderstanding AI vs ML vs DL
Understanding AI vs ML vs DLBelleHenry
 
What is Terraform?
What is Terraform?What is Terraform?
What is Terraform?BelleHenry
 

More from BelleHenry (6)

Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started
 
AWS Application Load balancer
AWS Application Load balancerAWS Application Load balancer
AWS Application Load balancer
 
How It Works ZIP?
How It Works ZIP?How It Works ZIP?
How It Works ZIP?
 
Java Developer Skills Set
Java Developer Skills SetJava Developer Skills Set
Java Developer Skills Set
 
Understanding AI vs ML vs DL
Understanding AI vs ML vs DLUnderstanding AI vs ML vs DL
Understanding AI vs ML vs DL
 
What is Terraform?
What is Terraform?What is Terraform?
What is Terraform?
 

Recently uploaded

When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...Gary Wood
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024Borja Sotomayor
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxAdelaideRefugio
 
MOOD STABLIZERS DRUGS.pptx
MOOD     STABLIZERS           DRUGS.pptxMOOD     STABLIZERS           DRUGS.pptx
MOOD STABLIZERS DRUGS.pptxPoojaSen20
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...EduSkills OECD
 
Đề tieng anh thpt 2024 danh cho cac ban hoc sinh
Đề tieng anh thpt 2024 danh cho cac ban hoc sinhĐề tieng anh thpt 2024 danh cho cac ban hoc sinh
Đề tieng anh thpt 2024 danh cho cac ban hoc sinhleson0603
 
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMDEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMELOISARIVERA8
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsSandeep D Chaudhary
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...Nguyen Thanh Tu Collection
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnershipsexpandedwebsite
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...Nguyen Thanh Tu Collection
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxneillewis46
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismDabee Kamal
 
How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17Celine George
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project researchCaitlinCummins3
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi RajagopalEADTU
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...Nguyen Thanh Tu Collection
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................MirzaAbrarBaig5
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
MOOD STABLIZERS DRUGS.pptx
MOOD     STABLIZERS           DRUGS.pptxMOOD     STABLIZERS           DRUGS.pptx
MOOD STABLIZERS DRUGS.pptx
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...
 
Đề tieng anh thpt 2024 danh cho cac ban hoc sinh
Đề tieng anh thpt 2024 danh cho cac ban hoc sinhĐề tieng anh thpt 2024 danh cho cac ban hoc sinh
Đề tieng anh thpt 2024 danh cho cac ban hoc sinh
 
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMDEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopal
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 

What is Helm?

  • 2. •How do I pack all or some of my contents (read as K8s objects) as a single luggage to be delivered •Someone on the other ship wants to use the conents on my ship? I’m scared if I pick all the loose contents, I might drop some into the sea •Wait! What was my last location? How am I even supposed to go back from this not-so-good-place (read as last state) •You want to search(read monitor) my ship? NO! Not till you are from the “audit” department In the first place, why even did you try riding me without my HELM? No Helm?
  • 3. The Power of Helm •Package Manger •The archivist. Of YAMLs •Templating Engine •Add some sense(read as logic) to your YAMLs!
  • 4. •Charts •Repository: artifacthub.io | bitnami | appscode etc •Release- e.g: prod, dev •Revisions •helm repo add •helm search hub •helm search repo •helm install •helm list •helm upgrade •helm uninstall •helm pull •helm --help •helm rollback •helm history Helm Basics Revision1 Revision2 Revision3 Revision1 Revision2 helm metadata as secrets K8s cluster Release1Release2
  • 6. •Kubernetes did not have RBAC policies around <1.16 •It kept multiple resources consistent across our clusters •Rollbacks •It worked way more frequently than it didn’t •Security: cluster-wide access —> privilege escalation attacks if not properly secured •Deployment of already complex tools like Istio was difficult as Tiller was buggy and unstable •Securing tiller was a humongous task •Deployment pipelines would fail at times due to false errors generated in Helm2 Why Tiller; Why No Tiller?
  • 7. •2-way vs 3-way strategic merge patch •Namespaces are now not created automatically •Helm serve removed; its available as a plugin •Release name is now not automatically generated •Values provided by the user can be forced to follow a particular JSON schema •Secrets are used instead of configMaps (with a secret type of helm.sh/release) as the default storage driver v2 vs v3
  • 8. Charts: Structure; Configuration; Creation •Chart directory/ •Chart.yaml •templates/ •templates/k8sYAMLs •templates/*.tpl •templates/NOTES.txt •values.yaml •tests/- write some tests to validate your charts
  • 9. Objects •Release •Values •Charts •Files •Capabilities •Referencing variables: {{ .Objects.variableName }} Almost every time, customisations will be done using the values.yamls values.yaml and objects
  • 10. Flow Control, Functions and Pipelines Providing logic to Helm charts … or lets say kubernetes YAMLs •Conditionals: If/Else in Helm •Functions: quote, upper, lower •Operators are also functions (eq, ne, lt, gt, and, or) •Pipe- ‘|’ . - use output of one function for further processing
  • 11. •Range: for-each loop for helm •Scopes- similar to scope of a variable in normal programming languages •the dot(.) operator points to the current scope •the dollar($) operator points to the root scope Scopes; Ranges $.Chart.Name .Release.Name
  • 12. •Used for removal of code duplication and the need of rewriting code or some code portions •Present in the templates/ folder •_ indicates to helm to not consider it as a normal template file so that it is not processed as a YAML file metadata: name: {{ .Release.Name }}-nginx labels: {{- template "labels" . }} {{- define "labels" }} app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} _NamedTemplates.tpl
  • 13. •pre-upgrade hook | post-upgrade hook •pre-install hook | post-install hook •pre-delete hook | post-delete hook •pre-rollback hook | post-rollback hook •test Hook Deletion Policies •hook-succeeded •hook-failed •before-hook-creation Use to run specific tasks before/after running the main kubernetes objects annotations: "helm.sh/hook": pre-upgrade One-off tasks: Chart Hooks
  • 14. •Feedback? YES PLEASE! •Appreciation? Would love to hear! •Criticism? Sure, sure Thank You “Hope you liked it”