Install Helm #
# Install Helm with script
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 &&
chmod +x get_helm.sh &&
./get_helm.sh
# Verify the installation / check version
helm version
Helm Plugins #
# Install diff plugin
helm plugin install https://github.com/databus23/helm-diff
# List Helm plugins
helm plugin list
# Shell output:
NAME VERSION DESCRIPTION
diff 3.15.2 Preview helm upgrade changes as a diff
Helm Commands #
Helm Repositories #
# Add Helm repository
helm repo add cilium https://helm.cilium.io/
# Update package index
helm repo update
# List repositories
helm repo list
# Remove repository
helm repo remove repo-alias
List Helm Charts and Values #
# List available Helm chart versions
helm search repo cilium/cilium --versions
# Save Helm Chart values: Latest version
helm show values cilium/cilium > cilium-values.yaml
# Save Helm Chart values: Specific version
helm show values cilium/cilium --version 1.18.4 > cilium-values-1.18.4.yaml
helm show values oci://docker.io/envoyproxy/gateway-helm --version 1.6.2 > envoy-values-1.6.2.yaml
Install Helm Chart #
Install / Upgrade #
# Install / upgrade Helm installation
helm upgrade --install <release-name> <repo-alias>/<chart-name> \
-n <namespace> \
-f values.yml \
--version <version>
# For example
helm upgrade --install vmks victoria-metrics/victoria-metrics-k8s-stack \
-n victoriametrics-k8s-stack \
-f victoria-metrics-k8s-stack-values.yml \
--version 0.55.2
-
release-nameChosen name for the Helm installation within the Kubernetes cluster -
repo-aliasAlias that was defined for the repository -
chart-namePackage you want to install from the repository
Diff / Try-run #
# Install / upgrade Helm installation: Dry-run / List diff (Needs diff plugin)
helm diff upgrade --install vmks victoria-metrics/victoria-metrics-k8s-stack \
-n victoriametrics-k8s-stack \
-f victoria-metrics-k8s-stack-values.yml \
--version 0.55.2
Helm Login #
To pull a Helm chart from a private repository like Harbor:
# Login to private Helm repository registry
helm registry login --username 'username' --password <pasyword> harbor.jklug.work/helm-charts
Delete Helm Release #
# Uninstall package: Current namespace
helm uninstall <release-name>
# Uninstall package: Specific namespace
helm -n <namespace> delete <release-name>
List Installed Helm Releases #
# List installed Helm releases
helm list -n <namespace-name>
# List installed Helm releases: All namespaces
helm list -A
List Helm Release Status #
# List Helm release information
helm -n <namespace> status <release-name>
List Helm Release History #
# List release information
helm -n <namespace> history <release-name>
Rollback to Release Number #
# Rollback to release number
helm -n <namespace> rollback <release-name> 16
List Values of Helm Release #
# List values of deployed Helm release
helm -n <namespace> get values <release-name>
Output Helm Manifest of Helm Release #
# List resources created by the release
helm -n <namespace> get manifest <release-name>
# List resources created by the release, define revision version
helm -n <namespace> get manifest <release-name> --revision 14
Useful #
Download and Untar #
# Download & untar a Helm chart
helm pull repo-alias/chart-name --untar
Ansible Templating #
Helm Chart Values Raw / end raw:
{% raw %} {% endraw %}