Cloud Native OCI

Helm


Created with ❤ by Oracle A-Team

Helm

Helm is one the best ways to find, share, and use software built for Kubernetes.

Why use Helm.

  • Create new charts from scratch
  • Package charts into chart archive (tgz) files
  • Interact with chart repositories where charts are stored
  • Install and uninstall charts into an existing Kubernetes cluster
  • Manage the release cycle of charts that have been installed with Helm

Concepts in Helm

  1. The chart is a bundle of information necessary, like templates for kubernetes manifests, to create an instance of a Kubernetes application.
  2. The config contains configuration information that can be merged into a packaged chart to create a releasable object.
  3. A release is a running instance of a chart, combined with a specific config.

Creating a Helm chart


helm create mychart
          
Examine the files created by helm for your starter helm chart.

cd mychart
ls -ltr
ls -ltr templates
cat templates/deployment.yaml
cat values.yaml 
          

Installing a Helm chart

The default chart is real and usable, it sets up an nginx deployment. Lets install it.

cd ..
helm install mychart ./mychart/ --set service.port=$RANDOM
        
The chart is installed, using the configuration provided in the values.yaml that was included in the chart.
  • A single value - service.port has been overridden using the --set flag.
  • A separate yaml file containing just the overrides can be provided as well, using the -f flag.

Using Helm charts


    helm list 
            
The release is running nginx, but uses ClusterIP, meaning the service is only available within the cluster. Can we test it ?

helm status mychart
            
Get the service IP and port
      
kubectl get svc
      
    
Version: 1.8.0
Build: 2022-02-17T05:02:17Z
© 2022, Oracle and/or its affiliates. All rights reserved.