Skip to content

Latest commit

 

History

History
380 lines (251 loc) · 4.78 KB

File metadata and controls

380 lines (251 loc) · 4.78 KB

Helm Cheat Sheet

Install Helm

Linux

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Verify

helm version

Repository Management

Add repo

helm repo add bitnami https://charts.bitnami.com/bitnami

List repos

helm repo list

Update repos

helm repo update

Remove repo

helm repo remove bitnami

Search charts

helm search repo nginx

Search Hub

helm search hub nginx

Chart Management

Create chart

helm create mychart

Lint chart

helm lint mychart

Package chart

helm package mychart

Show chart values

helm show values bitnami/nginx

Show chart info

helm show chart bitnami/nginx

Pull chart

helm pull bitnami/nginx

Pull and untar

helm pull bitnami/nginx --untar

Install & Upgrade

Install release

helm install mynginx bitnami/nginx

Install with namespace

helm install mynginx bitnami/nginx -n web --create-namespace

Install with custom values

helm install mynginx bitnami/nginx -f values.yaml

Override single value

helm install mynginx bitnami/nginx --set service.type=NodePort

Dry run

helm install mynginx bitnami/nginx --dry-run --debug

Upgrade release

helm upgrade mynginx bitnami/nginx

Upgrade with values

helm upgrade mynginx bitnami/nginx -f values.yaml

Install or upgrade

helm upgrade --install mynginx bitnami/nginx

Release Management

List releases

helm list

List all namespaces

helm list -A

Get release status

helm status mynginx

Get release history

helm history mynginx

Rollback release

helm rollback mynginx 1

Uninstall release

helm uninstall mynginx

Values & Templates

Get user-supplied values

helm get values mynginx

Get all values

helm get values mynginx -a

Render templates locally

helm template mynginx ./mychart

Render with values

helm template mynginx ./mychart -f values.yaml

Validate manifests

helm template mynginx ./mychart | kubectl apply --dry-run=client -f -

Debugging

Debug install

helm install mynginx bitnami/nginx --debug

Dry-run upgrade

helm upgrade mynginx bitnami/nginx --dry-run

Check Kubernetes resources

kubectl get all -n web

Describe pod

kubectl describe pod POD_NAME -n web

View logs

kubectl logs POD_NAME -n web

Common Useful Flags

Flag Description
-n Namespace
-f Values file
--set Override values
--create-namespace Create namespace
--dry-run Simulate command
--debug Verbose output
--wait Wait until ready
--timeout Set timeout
--atomic Rollback on failure

OCI Registry Commands

Login to registry

helm registry login registry.example.com

Pull OCI chart

helm pull oci://registry.example.com/charts/nginx

Push OCI chart

helm push mychart-0.1.0.tgz oci://registry.example.com/charts

Dependency Management

Update dependencies

helm dependency update

Build dependencies

helm dependency build

List dependencies

helm dependency list

Useful Examples

Install ingress-nginx

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

helm install ingress ingress-nginx/ingress-nginx \
  -n ingress-nginx \
  --create-namespace

Install Prometheus Stack

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helm install monitoring prometheus-community/kube-prometheus-stack \
  -n monitoring \
  --create-namespace

Upgrade with rollback safety

helm upgrade --install app ./chart \
  -n production \
  -f values-prod.yaml \
  --atomic \
  --wait

Cleanup

Delete failed releases

helm uninstall RELEASE_NAME

Remove old revisions secret/configmaps

kubectl get secrets -A | grep helm

Official Docs