webinar continuous delivery for kubernetes apps with helm and€¦ · continuous delivery for...
TRANSCRIPT
![Page 1: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/1.jpg)
Josh DolitskySoftware EngineerCodefresh
Stef ArnoldSr. Software EngineerSUSE
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Webinar
![Page 2: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/2.jpg)
Josh DolitskySoftware EngineerCodefresh
Stef ArnoldSr. Software EngineerSUSE
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Webinar Outline
1. Intro to Helm2. Helm Commands3. Intro to ChartMuseum4. ChartMuseum functions5. CI/CD Pipeline6. SUSE + Codefresh = <37. Demo
![Page 3: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/3.jpg)
What is Helm?
● Helm is the package manager for Kubernetes● Equivalent to “yum install <package>”● Kubernetes manifest templates, packaged and
versioned, referred to as charts
![Page 4: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/4.jpg)
Helm Use Cases
● Like other package managers Helm manages packages and their dependencies, and their installation.
● fetch, search, lint, and package are available client-side for authoring charts
● List, install, upgrade, delete, rollback for operations (makes use of server component Tiller)
![Page 5: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/5.jpg)
Helm use case mini demoSee how we can interact with our application or just its configuration using helm.
![Page 6: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/6.jpg)
Helm Use Cases
● Where do the packages live? ● What is a Helm repository anyway? index.yaml!
![Page 7: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/7.jpg)
What’s the problem?
How do multiple teams/devs publish their charts to a single repository at the same time?
![Page 8: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/8.jpg)
$ helm repo index --merge stale.yaml .
Team A Team B
$ helm package charta/$ helm package chartb/
$ aws s3 cp charta-0.1.0.tgz s3://mycharts/
$ aws s3 cp chartb-0.1.0.tgz s3://mycharts/
$ helm repo index --merge stale.yaml .
$ aws s3 cp index.yaml s3://mycharts/
$ aws s3 cp index.yaml s3://mycharts/
$ aws s3 cp s3://mycharts/index.yaml stale.yaml
$ aws s3 cp s3://mycharts/index.yaml stale.yaml
possiblerace
condition
The Problem
![Page 9: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/9.jpg)
![Page 10: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/10.jpg)
Team A Team B
$ helm package charta/$ helm package chartb/
$ aws s3 cp charta-0.1.0.tgz s3://mycharts/
$ aws s3 cp chartb-0.1.0.tgz s3://mycharts/
The Solution
![Page 11: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/11.jpg)
Features - Multiple storage options
● Local filesystem● Amazon S3 (and Minio)● Google Cloud Storage● Microsoft Azure Blob Storage● Alibaba Cloud OSS Storage● Openstack Object Storage
![Page 12: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/12.jpg)
Features - API for uploading charts etc.
● POST /api/charts - upload a new chart version● DELETE /api/charts/<name>/<version>● GET /api/charts● GET /api/charts/<name>● GET /api/charts/<name>/<version>
![Page 13: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/13.jpg)
To the command line...
![Page 14: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/14.jpg)
Deployments
We have seen how to: 1. Run a chart server2. Author and package a chart3. Upload a chart
Let’s look at a diagram...
![Page 15: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/15.jpg)
![Page 16: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/16.jpg)
Plug it into Codefresh!
Express our workflow as CF pipeline
First, we need a Kubernetes cluster (setup step walk through)
After, free form demo within CF UI
![Page 17: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/17.jpg)
![Page 18: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/18.jpg)
![Page 19: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/19.jpg)
![Page 20: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/20.jpg)
Plug it into Codefresh!
Back to you, Josh!
![Page 21: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/21.jpg)
Josh DolitskySoftware EngineerCodefresh
Stef ArnoldSr. Software EngineerSUSE
Questions
Relevant Links● github.com/codefresh-io/cncf-demo● helm.sh● chartmuseum.com● codefresh.io● suse.com/solutions/kubernetes
![Page 22: Webinar Continuous Delivery for Kubernetes Apps with Helm and€¦ · Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar Outline 1. Intro to Helm 2. Helm Commands](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ec662d925c6f82c2e504d8a/html5/thumbnails/22.jpg)