SlideShare une entreprise Scribd logo
1  sur  22
Kubernetes CI/CD with Helm:
Checking in your deployment configuration as code
Adnan Abdulhussein - @prydonius
Software Engineer, Bitnami
Agenda
Benefits of configuration/infrastructure as code
Managing Kubernetes deployments
Introduction to Helm
Demo CI/CD pipeline with Helm
Configuration and Infrastructure
as Code
Host Management CI/CD InfrastructurePackaging
Configuration and Infrastructure
as Code
Why?
Version Control
Consistent
Reproducible
Rollbacks
Auditing
Tools
Source Code
Management
CI/CD Platform Deployment Tool
Orchestration
Platform
Kubernetes Resource Definitions
MariaDB
Service
resource
Database tier
Secret
resource
Deployment
resource
Application
Service
resource
Backend tier
Config Map
resource
Deployment
resource
Nginx
Service
resource
Frontend tier
Deployment
resource
Example: Kubernetes Resource
apiVersion: v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: prydonius/node-todo:v1.0.0
ports:
- containerPort: 8080
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 120
timeoutSeconds: 5
Example: Deploying to Kubernetes
$ kubectl apply -f ./mariadb-secret.yaml
secret "mariadb" configured
$ kubectl apply -f ./mariadb-deployment.yaml
deployment "mariadb" configured
$ kubectl apply -f ./mariadb-service.yaml
service "mariadb" configured
$ kubectl apply -f ./application-configmap.yaml
configmap "application" configured
$ kubectl apply -f ./application-deployment.yaml
deployment "application" configured
$ kubectl apply -f ./application-service.yaml
service "application" configured
$ kubectl apply -f ./nginx-deployment.yaml
deployment "nginx" configured
$ kubectl apply -f ./nginx-service.yaml
service "nginx" configured
Managing raw
manifests can be
difficult
No template parameterization
No application lifecycle hooks
No history of releases
Tool for managing
resources as a
single unit
Reuse resources
Logically group app resources
Manage app lifecycles
Charts
(packages)
Application definitions
Consist of
Metadata (Chart.yaml)
Kubernetes templates
Configuration file (values.yaml)
Documentation
Can depend on other charts
Navigating a Chart
MariaDB
Service
resource
Database tier
Secret
resource
Deployment
resource
Application
Service
resource
Backend tier
Config Map
resource
Deployment
resource
Nginx
Service
resource
Frontend tier
Deployment
resourceDocumentation
Metadata
Config File
helm install my-app
myapp
├── Chart.yaml
├── README.md
├── charts
│ └── mariadb-0.5.8.tgz
├── templates
│ ├── deployment.yaml
│ └── ...
└── values.yaml
Navigating a Chart
Public charts repository
CLI tool
Takes a local Chart path
Set parameters used in Chart templates
Release state stored in cluster
How the Helm can I setup CD?
Generic CI/CD pipeline
Code/config change
Build
Test
Publish artifacts
Staging/QA Deployment
Production Deployment
Manual verification
Demo: CI/CD Pipeline
Code/config change
Build
Test
Push Docker image
Staging/QA Deployment
Production Deployment
Manual verification
Demo: Todo List App
Application Code
Dockerfile
Jenkinsfile
Helm Chart
prydonius/node-todo
Amazing Todo App
● Express.js server
● Angular frontend
● MongoDB database
Demo
Helm + Jenkins vs. Spinnaker
Helm and Jenkins
+ config as code, single source of truth
+ multi-branch support (including pull requests)
+ rich source of plugins
+ single platform for CI and CD
Spinnaker
- more deployment strategies
Helm Community
Over 100 contributors
1.5 years old
Slack channel: Kubernetes/#Helm
Public dev meetings: Thursdays @ 9:30 pacific
Weekly updates & demos at SIG-Apps meetings: Mondays @ 9am pacific
Join
us!
Thank youTime for questions and (hopefully) answers...

Contenu connexe

Tendances

Tendances (20)

Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
 
Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Creating AWS infrastructure using Terraform
Creating AWS infrastructure using TerraformCreating AWS infrastructure using Terraform
Creating AWS infrastructure using Terraform
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...
 Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion... Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...
Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Terraform
TerraformTerraform
Terraform
 
Azure Container Apps
Azure Container AppsAzure Container Apps
Azure Container Apps
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 

Similaire à Kubernetes CI/CD with Helm

Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
Running the-next-generation-of-cloud-native-applications-using-open-applicati...Running the-next-generation-of-cloud-native-applications-using-open-applicati...
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
NaveedAhmad239
 
Developing Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with KnativeDeveloping Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with Knative
VMware Tanzu
 

Similaire à Kubernetes CI/CD with Helm (20)

Continuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using HelmContinuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using Helm
 
Deploy your favorite apps on Kubernetes
Deploy your favorite apps on KubernetesDeploy your favorite apps on Kubernetes
Deploy your favorite apps on Kubernetes
 
Can i service this from my raspberry pi
Can i service this from my raspberry piCan i service this from my raspberry pi
Can i service this from my raspberry pi
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Deep Dive on Serverless Stack
Deep Dive on Serverless StackDeep Dive on Serverless Stack
Deep Dive on Serverless Stack
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop:  Effizientes DevOps-Tooling mit GobetterCode Workshop:  Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
 
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupScaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
 
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
Running the-next-generation-of-cloud-native-applications-using-open-applicati...Running the-next-generation-of-cloud-native-applications-using-open-applicati...
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
 
Orchestration with Kubernetes
Orchestration with KubernetesOrchestration with Kubernetes
Orchestration with Kubernetes
 
Kubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platformKubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platform
 
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
OpenShift Meetup - Tokyo - Service Mesh and Serverless OverviewOpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
 
Developing Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with KnativeDeveloping Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with Knative
 

Dernier

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Dernier (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Kubernetes CI/CD with Helm

  • 1. Kubernetes CI/CD with Helm: Checking in your deployment configuration as code Adnan Abdulhussein - @prydonius Software Engineer, Bitnami
  • 2. Agenda Benefits of configuration/infrastructure as code Managing Kubernetes deployments Introduction to Helm Demo CI/CD pipeline with Helm
  • 3. Configuration and Infrastructure as Code Host Management CI/CD InfrastructurePackaging
  • 4. Configuration and Infrastructure as Code Why? Version Control Consistent Reproducible Rollbacks Auditing
  • 5. Tools Source Code Management CI/CD Platform Deployment Tool Orchestration Platform
  • 6. Kubernetes Resource Definitions MariaDB Service resource Database tier Secret resource Deployment resource Application Service resource Backend tier Config Map resource Deployment resource Nginx Service resource Frontend tier Deployment resource
  • 7. Example: Kubernetes Resource apiVersion: v1 kind: Deployment metadata: name: my-app spec: replicas: 3 template: metadata: labels: app: my-app spec: containers: - name: my-app image: prydonius/node-todo:v1.0.0 ports: - containerPort: 8080 livenessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 120 timeoutSeconds: 5
  • 8. Example: Deploying to Kubernetes $ kubectl apply -f ./mariadb-secret.yaml secret "mariadb" configured $ kubectl apply -f ./mariadb-deployment.yaml deployment "mariadb" configured $ kubectl apply -f ./mariadb-service.yaml service "mariadb" configured $ kubectl apply -f ./application-configmap.yaml configmap "application" configured $ kubectl apply -f ./application-deployment.yaml deployment "application" configured $ kubectl apply -f ./application-service.yaml service "application" configured $ kubectl apply -f ./nginx-deployment.yaml deployment "nginx" configured $ kubectl apply -f ./nginx-service.yaml service "nginx" configured
  • 9. Managing raw manifests can be difficult No template parameterization No application lifecycle hooks No history of releases
  • 10. Tool for managing resources as a single unit Reuse resources Logically group app resources Manage app lifecycles
  • 11. Charts (packages) Application definitions Consist of Metadata (Chart.yaml) Kubernetes templates Configuration file (values.yaml) Documentation Can depend on other charts
  • 12. Navigating a Chart MariaDB Service resource Database tier Secret resource Deployment resource Application Service resource Backend tier Config Map resource Deployment resource Nginx Service resource Frontend tier Deployment resourceDocumentation Metadata Config File helm install my-app
  • 13. myapp ├── Chart.yaml ├── README.md ├── charts │ └── mariadb-0.5.8.tgz ├── templates │ ├── deployment.yaml │ └── ... └── values.yaml Navigating a Chart
  • 15. CLI tool Takes a local Chart path Set parameters used in Chart templates Release state stored in cluster How the Helm can I setup CD?
  • 16. Generic CI/CD pipeline Code/config change Build Test Publish artifacts Staging/QA Deployment Production Deployment Manual verification
  • 17. Demo: CI/CD Pipeline Code/config change Build Test Push Docker image Staging/QA Deployment Production Deployment Manual verification
  • 18. Demo: Todo List App Application Code Dockerfile Jenkinsfile Helm Chart prydonius/node-todo Amazing Todo App ● Express.js server ● Angular frontend ● MongoDB database
  • 19. Demo
  • 20. Helm + Jenkins vs. Spinnaker Helm and Jenkins + config as code, single source of truth + multi-branch support (including pull requests) + rich source of plugins + single platform for CI and CD Spinnaker - more deployment strategies
  • 21. Helm Community Over 100 contributors 1.5 years old Slack channel: Kubernetes/#Helm Public dev meetings: Thursdays @ 9:30 pacific Weekly updates & demos at SIG-Apps meetings: Mondays @ 9am pacific Join us!
  • 22. Thank youTime for questions and (hopefully) answers...

Notes de l'éditeur

  1. Tools that define configuration or infrastructure as code have existed for a long time, such as Chef and Puppet More recently we've seen this extend to CI pipelines, packaging with Dockerfiles, Packer config, and Infrastructure on clouds with Terraform and AWS CloudFormation, and more recently with Kubernetes and Helm
  2. Single source of truth for all configuration Gives you consistency across your deployments and tools Declarative definitions allow for reproducibility Version control comes with goodies
  3. In this talk, we'll take a look at how to build a whole CI/CD pipeline out of these tools
  4. In Kubernetes, you would define and create multiple resources for each of these tiers Deployment resource - describes what containers to run in the service, how to scale them, healthchecks, resources Service resource - enables service discovery and loadbalancing for your deployments Secret/ConfigMap resource - your application may take in a password or API token that needs to be kept secret Each resource is a declarative definition usually written in YAML or JSON
  5. When you want to go and upgrade your templates to release a new version of your application, you need to manually edit these files to change the tag of the docker image or if you want to change configuration in the configmap this is painful and hard to automate after making changes, it's difficult to rollback to a previous state because history is not tracked for every resource if your application needs to run a database migration during an upgrade you need to build tooling to manage this during your release process
  6. Helm allows you to reduce boilerplate and reuse resources in intelligent ways e.g. provides a public repository to take common components from Bundling different resources together and reordering into dependencies makes resources easier to manage and update Helm allows you to hook into your deployments and run database migrations at certain points in the deployment process
  7. Packages in Helm are called Charts They consist of metadata, templates, config files and docs They can depend on other charts
  8. Mostly the same as before, but Helm packages this all as a bundle Also containers metadata, docs, config file for exposing configuration for your app during install-time
  9. Laid out into two chart repos: Incubator - great place for sharing and developing ideas, and trying out new k8s alpha features Stable - a place for curated, ready-to-run applications
  10. Build - Docker Test - ??? Release artifacts - Image registry Manual verification - Yes no, maybe so? Staging environment Deploy - Production
  11. Build - Docker Test - ??? Release artifacts - Image registry Manual verification - Yes no, maybe so? Staging environment Deploy - Production