Skip to main content

Command Palette

Search for a command to run...

๐Ÿงช Helm Day-1: Deploy App on EKS

Published
โ€ข2 min read

๐ŸŽฏ Goal

  • Understand Helm basics

  • Deploy an app to EKS using Helm

  • Learn chart, values, install, upgrade, uninstall


๐Ÿงฐ Prerequisites (Quick Check)

Make sure these already work:

kubectl get nodes

You should see EKS worker nodes.

helm version

If Helm not installed:

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

๐Ÿง  What is Helm? (1-line)

Helm = Package manager for Kubernetes


๐Ÿ“ Step 1: Create a Helm Chart

helm create myapp

Directory structure:

myapp/
โ”œโ”€โ”€ Chart.yaml
โ”œโ”€โ”€ values.yaml
โ”œโ”€โ”€ templates/
โ”‚   โ”œโ”€โ”€ deployment.yaml
โ”‚   โ”œโ”€โ”€ service.yaml
โ”‚   โ””โ”€โ”€ _helpers.tpl

๐Ÿ“„ Step 2: Understand Key Files (Very Important)

Chart.yaml

Metadata of your app (name, version)

values.yaml

๐Ÿ‘‰ Default configuration (replicas, image, ports)

templates/

๐Ÿ‘‰ Kubernetes YAML files with variables


โœ๏ธ Step 3: Update values.yaml (Simple)

Edit values.yaml:

replicaCount: 2

image:
  repository: nginx
  tag: "latest"

service:
  type: LoadBalancer
  port: 80

๐Ÿ” Step 4: Dry Run (Always do this)

helm install myapp-release myapp --dry-run --debug

โœ” Checks template rendering
โœ” No resources created yet


๐Ÿš€ Step 5: Install Helm Chart on EKS

helm install myapp-release myapp

๐Ÿ”Ž Step 6: Verify Deployment

kubectl get pods
kubectl get svc

You should see:

  • 2 nginx pods

  • LoadBalancer service

Get external IP:

kubectl get svc myapp-release

Open in browser:

http://<EXTERNAL-IP>

๐ŸŽ‰ NGINX page loads!


๐Ÿ”„ Step 7: Helm Upgrade (Real-World Use)

Change replicas to 3 in values.yaml:

replicaCount: 3

Upgrade:

helm upgrade myapp-release myapp

Verify:

kubectl get pods

๐Ÿ“œ Step 8: Helm Commands You MUST Know

helm list
helm status myapp-release
helm history myapp-release

โŒ Step 9: Uninstall (Cleanup)

helm uninstall myapp-release

Check:

kubectl get all

๐Ÿง  Helm vs kubectl (Interview Gold)

kubectlHelm
Single YAMLMultiple YAML
Manual updatesVersioned releases
No rollbackRollback supported

๐Ÿ” Bonus: Rollback Demo (Optional)

helm rollback myapp-release 1

๐Ÿง  Day-1 Key Takeaways

  • Helm uses charts

  • values.yaml controls configuration

  • Helm supports install, upgrade, rollback

  • Perfect for EKS production deployments


โœ… What You Learned Today

โœ” Helm basics
โœ” Deploy app on EKS
โœ” Upgrade & rollback
โœ” Interview-ready commands