3 ms·
I always see comments like this, and as someone who used Kustomize first and then moved to Helm, it really doesn't fit with my experience. I found Kustomize ex
by cortesoft 2y ago
I always see comments like this, and as someone who used Kustomize first and then moved to Helm, it really doesn't fit with my experience.
I found Kustomize extremely annoying to work with. Changing simple configuration options required way too much work.
Take a simple example - changing the URL value of an ingress. This is something every deploy is going to have to set, since it will be different for every cluster.
In Kustomize, I first have to find the ingress resource, then recreate the nesting properly in my kustomize file, and then repeat that for every deployment.
In Helm, I just change one entry in a values file, that is clearly named so I know what I am setting.
In addition, it is REALLY hard to refactor resources once there are a lot of Kustomization files. If I want to redo how the deployment works, I have to change every Kustomize file that any other repo using my project uses. If I have a lot of other people who are pulling in my project and then using kustomize on top of it, we have to coordinate any changes, because changing the structure breaks all Kustomizations.
With Helm, as long as I keep the same values file structure, I am free to move things around however I want. I can use values in completely new locations without having to change anything about the values files themselves.
I just don't see how it is easier. I find it a lot easier to read a default values file and figure out what every setting does rather than read 20 k8s yaml files trying to figure out what does what.
In some ways, I kind of feel like the Kustomize enthusiasts LIKE the things I find annoying about it; they think you SHOULD have to read every resource and fully understand it, and they don't want anyone to be able to change anything without every kustomizer also changing things. I get the theory that everyone should know the underlying resources, but in practicality I find Kustomize to be the wrong level of abstraction for what I want to do.