helm
Manage Kubernetes applications with Helm charts
TLDR
Create a helm chart
Add a new helm repository
List helm repositories
Update helm repositories
Delete a helm repository
Install a helm chart
Download helm chart as a tar archive
Update helm dependencies
SYNOPSIS
helm COMMAND [ARGUMENTS...] [OPTIONS...]
Examples:
helm install NAME CHART [OPTIONS]
helm upgrade NAME CHART [OPTIONS]
helm uninstall NAME [OPTIONS]
helm list [OPTIONS]
helm repo SUBCOMMAND
helm search SUBCOMMAND
PARAMETERS
--debug
Enable verbose output.
--help
Show help for a command.
--kube-context string
Name of the kubeconfig context to use.
--namespace string
Namespace scope for this request.
--set stringArray
Set values on the command line (e.g., 'key=value').
--values stringArray
Specify values in a YAML file (can specify multiple).
--version
Print the version of Helm.
--dry-run
Simulate an install or upgrade without making changes.
DESCRIPTION
Helm is the de facto package manager for Kubernetes, simplifying the deployment and management of applications. It uses "charts," which are packages of pre-configured Kubernetes resources. These charts allow users to define, install, and upgrade even complex Kubernetes applications efficiently. Helm streamlines the software delivery lifecycle on Kubernetes by providing versioning, dependency management, and templating capabilities. It helps manage the entire lifecycle of Kubernetes applications, from initial deployment to updates, rollbacks, and deletion, promoting reusability and best practices for application packaging.
CAVEATS
Requires a functional Kubernetes cluster and 'kubectl' configured to connect to it.
Creating robust Helm charts can be complex, demanding a good understanding of Kubernetes resources and templating.
Managing Helm releases across diverse environments needs careful CI/CD integration to avoid configuration drift.
Always ensure charts are sourced from trusted repositories to mitigate security risks.
HELM CHARTS
Helm Charts are a packaging format that bundles all necessary Kubernetes resources, templates, and configuration values needed to deploy an application. They serve as a standard, reusable unit for defining, installing, and managing applications on Kubernetes, simplifying complex deployments and promoting consistency.
RELEASE MANAGEMENT
Helm manages "releases," which represent deployed instances of a chart on a Kubernetes cluster. It tracks the state and history of each release, enabling seamless operations like upgrades to newer versions, rollbacks to previous stable states, and viewing the complete lifecycle history, providing robust application lifecycle management.
HISTORY
Helm was initially developed by Deis (now part of Microsoft) and later contributed to the Cloud Native Computing Foundation (CNCF) in 2016. It achieved CNCF graduated project status in 2020, indicating its maturity and widespread adoption. Helm 2, which included an in-cluster component called Tiller, was widely used. Helm 3, released in 2019, significantly simplified its architecture by removing Tiller, enhancing security and ease of use, marking a major evolution in its design and operational model.