Upgrade to Pro — share decks privately, control downloads, hide ads and more …

get-your-helm-charts-out-there.pdf

 get-your-helm-charts-out-there.pdf

The new Helm Hub (https://hub.helm.sh) provides a central site where anyone can register their own chart repositories for easy discoverability. This session will show how to set up your own chart repo using GitHub Pages. It illustrates how to set up CI for your charts using Kind (https://github.com/kubernetes-sigs/kind) and the chart-testing (https://github.com/helm/chart-testing) tool so you can install and test pull requests for your charts and, thus, build trust in your community that things work as expected.

Reinhard Nägele

April 01, 2019
Tweet

More Decks by Reinhard Nägele

Other Decks in Technology

Transcript

  1. Agenda •A Helm Primer •The Helm Hub •Testing Helm Charts

    •Ephemeral K8s Clusters for CI with Kind •Using GitHub Pages as Chart Repository •Putting Everything Together 3
  2. A Helm Primer •Manage Kubernetes resources as a single unit

    •Charts can be hosted in a repository •Release history •Go templating support •Lifecycle management with hooks •Dependencies •Test support 4 Features
  3. Testing Helm Charts 7 •Validate Chart.yaml against schema (https://github.com/23andMe/Yamale) •Lint

    Chart.yaml and values.yaml (https://github.com/adrienverge/yamllint) •Lint chart
 helm lint •Check for version bumps •Install the chart
 helm install •Perform chart updates
 helm upgrade •Run Helm tests
 helm test Features
  4. Ephemeral K8s Clusters for CI with Kind 8 https://github.com/kubernetes-sigs/kind •Kubernetes

    in Docker •Support for multi-node clusters •Support for dynamic volume provisioning to be install separately
 https://github.com/rancher/local-path-provisioner
  5. Ephemeral K8s Clusters for CI with Kind 9 •kind create

    cluster •kind create cluster --name=my-cluster •kind create cluster --image=kindest/node:v1.14.0
 •kind create cluster --config=my-config.yaml kind: Cluster apiVersion: kind.sigs.k8s.io/v1alpha3 nodes: - role: control-plane - role: worker - role: worker
  6. Using GitHub Pages as Chart Repository •Any HTTP server that

    can serve YAML files and tar files 10 Chart Repository Two Options for GitHub Pages •Commit chart packages to repo •Use GitHub releases
  7. Using GitHub Pages as Chart Repository 12 •Create GitHub releases

    from chart packages •Create index.yaml file from GitHub releases Features Planned •GitHub app •Full-featured solution including CI setup and chart packaging