Skip to main content

Command Palette

Search for a command to run...

Day 59 – Helm — Kubernetes Package Manager

Updated
3 min read
H
I am an MCA (Cloud Computing) student at MIT ADT University, focused on becoming a DevOps & Cloud Engineer who builds reliable, scalable, and automated systems. 🏆 5× Hackathon Winner — Hacktoberfest Hackathon, Innovyuh Hackathon – Solution Challenge, Build with AI (GDG Cloud Pune), Project Innovista (Research & Project Competition), NASA International Space Apps Challenge. I work at the intersection of development and operations, where I design, automate, and manage cloud infrastructure: • Cloud & Linux: AWS (EC2, S3, VPC) and Linux system management • Infrastructure as Code: Terraform & Ansible • Containers & Orchestration: Docker & Kubernetes • CI/CD: Jenkins & GitHub Actions • Monitoring & SRE: Prometheus, Grafana, ELK, OpenTelemetry Beyond building, I actively write about DevOps and Cloud to simplify complex concepts and share practical knowledge. I am currently looking for opportunities where I can contribute, learn from industry experts, and grow into a high-impact DevOps Engineer.

On Day 59 of my 90 Days of DevOps journey, I learned about Helm and how it simplifies Kubernetes application deployment.

For the past few days, I was manually creating multiple Kubernetes YAML files like:

Deployments
Services
ConfigMaps
Secrets
PVCs

As applications grow bigger, managing all these YAML files manually becomes difficult.

That is where Helm helps.

Today I learned that Helm is called the package manager for Kubernetes.

Just like apt is used in Ubuntu to install packages, Helm is used to install and manage Kubernetes applications.

Helm Core Concepts

Today I learned three important Helm concepts:

Chart
Release
Repository

A Chart is a package containing Kubernetes templates.

A Release is a running installation of a chart inside the cluster.

A Repository is a collection of Helm charts.

Understanding these concepts made Helm much easier to understand.

Installing Helm

First, I installed Helm and verified it using:

helm version

and:

helm env

After installation, Helm was ready to manage Kubernetes applications.

Adding Bitnami Repository

Next, I added the Bitnami repository.

Bitnami provides many ready-to-use Kubernetes application charts.

After adding the repository, I searched available charts using:

helm search repo

I was surprised to see how many applications can be deployed with just one command.

Installing a Chart

Then I installed nginx using Helm:

helm install my-nginx bitnami/nginx

This single command automatically created:

Deployment
Service
Pods
other Kubernetes resources

Earlier I had to write all these YAML files manually.

That was the biggest learning moment today.

I also checked:

helm list
helm status
helm get manifest

to inspect the release.

Customizing with Values

One powerful feature of Helm is customization using values.

I explored default configuration using:

helm show values bitnami/nginx

Then I customized:

replica count
service type
resource limits

using:

--set

and also by creating a:

custom-values.yaml

file.

This made configuration management much cleaner compared to editing multiple YAML files manually.

Upgrade and Rollback

Next, I learned how Helm upgrades applications.

I upgraded nginx replicas from:

3 → 5

using:

helm upgrade

Then I checked release history using:

helm history

Finally, I tested rollback using:

helm rollback

Helm restored the previous working version automatically.

This felt similar to Kubernetes rollout undo, but for the complete application stack.

Creating My Own Helm Chart

Finally, I created my own Helm chart using:

helm create my-app

This automatically generated:

Chart.yaml
values.yaml
templates/

I also explored Helm template syntax like:

{{ .Values.replicaCount }}

and:

{{ .Chart.Name }}

Then I customized the chart and deployed it successfully.

This helped me understand how reusable Kubernetes application templates are created.

What I Learned Today

Today I learned:

Helm basics
Charts
Releases
Repositories
Bitnami charts
Helm values
helm install
helm upgrade
helm rollback
Helm templating
Custom Helm charts

Final Thoughts

Today helped me understand how Kubernetes applications are managed efficiently in real production environments.

Instead of writing dozens of YAML files manually, Helm makes deployment and configuration much simpler.

Creating and customizing my own Helm chart was one of the most interesting Kubernetes experiences so far

See you on Day 60