Part 2: Kubernetes Deployment with Helm Charts
The Configuration Problem I Kept Hitting
Chart Structure
deployments/helm/
βββ charts/
β βββ go-reliable-lib/ # Library chart β not deployed directly
β βββ Chart.yaml
β βββ templates/
β βββ _deployment.tpl
β βββ _service.tpl
β βββ _hpa.tpl
β βββ _pdb.tpl
βββ api-gateway/
β βββ Chart.yaml
β βββ templates/
β β βββ deployment.yaml
β β βββ service.yaml
β β βββ hpa.yaml
β β βββ pdb.yaml
β β βββ configmap.yaml
β βββ values.yaml # defaults
β βββ values.staging.yaml
β βββ values.production.yaml
βββ order-service/
β βββ Chart.yaml
β βββ templates/
β β βββ deployment.yaml
β β βββ service.yaml
β β βββ hpa.yaml
β β βββ pdb.yaml
β β βββ configmap.yaml
β β βββ migration-job.yaml # Helm pre-upgrade hook
β βββ values.yaml
β βββ values.staging.yaml
β βββ values.production.yaml
βββ notification-worker/
β βββ ...
βββ ml-gateway/
βββ ...The Deployment Template
Health Check Handler
Resource Requests and Limits
Horizontal Pod Autoscaler
Pod Disruption Budget
Database Migration Helm Hook
Per-Environment Values
Deploying Manually vs GitOps
What I Got Wrong Initially
Where We Are
PreviousPart 1: Building a Production-Ready Go Microservices PlatformNextPart 3: GitOps with ArgoCD and Continuous Delivery
Last updated