Comparisons between Helm, Kustomize and Kapitan usually compare features.
This one compares output. The
example renders
the same small app with all three tools, and ./check fails unless the
manifests match for each environment. Every number below comes from that
directory.
The app
Two services in namespace shop : web and api . Each has a Deployment, a
ClusterIP Service and a ConfigMap mounted into the pod. Pods run with the
restricted Pod Security profile. The environments differ in these values:
dev prod
web image tag 1.5.0-rc.1 1.4.2
web replicas, requests 1, 50m/64Mi 3, 250m/256Mi
api image tag 2.0.0-rc.3 1.9.1
api replicas, requests 1, 50m/64Mi 2, 500m/512Mi
log level debug info
PodDisruptionBudget none web and api
The api reads the web URL from its ConfigMap, web_url:
http://web.shop.svc:80 . That value matters later.
The Helm side is one generic chart rendered once per app with a base and an
environment values file.…