πŸ”₯Task #2 β€” Create Your First Helm Chart for GKE Cluster



This content originally appeared on DEV Community and was authored by Latchu@DevOps

Goal:

Learn how to create a Helm chart from scratch, understand its folder structure, and deploy it on your local or GKE Kubernetes cluster.

✅ What You Will Learn

  • How to generate a Helm chart
  • Understand the purpose of each file/folder in a chart
  • Customize chart values
  • Deploy your chart into Kubernetes
  • Upgrade and rollback releases

🧪 Prerequisites

  • Kubernetes cluster (Minikube, Kind, or GKE)
  • Helm installed:
helm version

Create & Deploy Your First Helm Chart

Step 1 β€” Create a New Helm Chart

Run:

helm create myapp

This generates a folder like:

myapp/
  Chart.yaml
  values.yaml
  charts/
  templates/
  templates/deployment.yaml
  templates/service.yaml
  templates/ingress.yaml

1

Step 2 β€” Understand Chart Structure

📌 Chart.yaml

Metadata of your application (chart name, version, app version).

📌 values.yaml

Default configuration values (image, tag, service type, replicas, ports).
This is the file users can override.

📌 templates/

Contains Kubernetes manifest templates with Helm placeholders.

📌 charts/

Subcharts (used in microservices or dependencies).

Step 3 β€” Open & Explore values.yaml

Example sections:

replicaCount: 1

image:
  repository: nginx
  tag: "latest"

service:
  type: ClusterIP
  port: 80

This values.yaml controls the behavior of the Kubernetes templates.

Step 4 β€” Render Templates Without Deploying

Check what Helm will generate:

helm template myapp/

Or with custom values:

helm template myapp/ --set replicaCount=2

Step 5 β€” Install the Chart

Deploy it to your cluster:

helm install myapp-release myapp/

Verify:

kubectl get pods
kubectl get svc

2

Step 6 β€” Upgrade the Release

Change something in values.yaml (e.g., replicas = 3).

Upgrade:

helm upgrade myapp-release myapp/

Check rollout:

kubectl get pods

3

Step 7 β€” Rollback to Previous Version

kubectl get pods
helm history myapp-release
helm rollback myapp-release 1
helm history myapp-release
kubectl get pods

4

Step 8 β€” Uninstall the Release

helm uninstall myapp-release

5

🎯 Outcome of Task #2

By completing Task #2, you now know:

✔ How to create a Helm chart
✔ How to understand & modify its structure
✔ How Helm templates convert into Kubernetes YAML
✔ How to install/upgrade/rollback Helm releases
✔ How to manage your app with Helm like a pro

🌟 Thanks for reading! If this post added value, a like ❤, follow, or share would encourage me to keep creating more content.

β€” Latchu | Senior DevOps & Cloud Engineer

☁ AWS | GCP | ☸ Kubernetes | 🔐 Security | ⚡ Automation
📌 Sharing hands-on guides, best practices & real-world cloud solutions


This content originally appeared on DEV Community and was authored by Latchu@DevOps