22
Josh Dolitsky Software Engineer Codefresh Stef Arnold Sr. Software Engineer SUSE Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum Webinar

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

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

$ 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
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

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

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

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

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

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
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

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
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
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
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

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

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