When would you package Kubernetes manifests with Helm and when with Kustomize? Can they be combined?
What the interviewer wants to hear
- Helm uses templates, values and versioned charts with release history
- Kustomize uses plain YAML with bases and overlays and patches
- Helm suits distributing reusable apps to many consumers
- Kustomize suits per-environment changes to your own manifests
- They can be combined, for example Kustomize over rendered Helm output, and both work with Argo CD
Model answer
Helm is a package manager: a chart has Go templates and a values file, it is versioned and published to a repository, and Helm tracks release history for upgrades and rollbacks. It is the right fit when you distribute an application to many consumers who need many knobs, like most third-party software. Kustomize works on plain YAML: you have a base and per-environment overlays that patch it, with no templating language. That makes it very readable for your own services where environments differ only in a few fields such as replicas, image tags or resources. Heavy Helm templating can become hard to read, while Kustomize becomes awkward when you need real logic. They combine well: Kustomize can inflate a Helm chart and then apply patches, and Argo CD supports both. In practice I often install vendor tools with Helm and manage in-house services with Kustomize overlays in a GitOps repo.
Can you answer it under time pressure?
Take a timed medium round and get scored on every answer.
More medium DevOps Engineer questions
- How do you manage secrets such as database passwords and API keys across CI/CD pipelines and Kubernetes?
- A Pod is stuck in CrashLoopBackOff after a deployment. How do you troubleshoot it?
- Compare rolling, blue-green and canary deployments. How do you decide which to use?
- Developers complain that the CI pipeline takes 40 minutes. How would you make it faster?
- How do you structure Terraform code for multiple environments like dev, staging and production?
- Your team is burning out from on-call pages. How would you redesign alerting and the on-call process?
- Users report that one service on Kubernetes became slow since this morning. Walk me through how you would investigate.
- How would you promote a release from dev to staging to production in a GitOps setup with Argo CD?
- How do you include database schema migrations in a continuous delivery pipeline without causing downtime?