Helm Basics
What is Helm?
Helm is a powerful package manager for Kubernetes, designed to simplify the deployment and management of complex containerized applications. As a Kubernetes package manager, Helm allows developers to define, install, and upgrade even the most complex Kubernetes applications using charts.
Core Concepts of Helm
Helm Chart Structure
A Helm chart represents a collection of files that describe a related set of Kubernetes resources. The typical chart structure looks like:
mychart/
├── Chart.yaml
├── values.yaml
├── templates/
│ ├── deployment.yaml
│ ├── service.yaml
│ └── ingress.yaml
└── charts/
Key Components
Component |
Description |
Chart.yaml |
Metadata about the chart |
values.yaml |
Default configuration values |
templates/ |
Kubernetes resource manifests |
charts/ |
Dependency charts |
Installation on Ubuntu 22.04
## Install Helm
curl | bash
## Verify installation
helm version
Creating a Simple Helm Chart
## Create new chart
helm create myapp
## Structure of generated chart
cd myapp
tree
Helm Workflow
graph TD
A[Define Chart] --> B[Configure Values]
B --> C[Package Chart]
C --> D[Install to Kubernetes]
D --> E[Manage Releases]
Basic Helm Commands
## Install a chart
helm install myrelease ./myapp
## List releases
helm list
## Upgrade release
helm upgrade myrelease ./myapp
## Uninstall release
helm uninstall myrelease