Kustomize offers a template-free way to customize Kubernetes application configuration. It achieves that by combining plain Kubernetes resource files with some clever tools that ease managing things as labels, annotations, ConfigMaps or Secrets.
Purely declarative approach to configuration customization
Natively built into kubectl
Manage an arbitrary number of distinctly customized Kubernetes configurations
Available as a standalone binary for extension and integration into other services
Every artifact that kustomize uses is plain YAML and can be validated and processed as such
Kustomize encourages a fork/modify/rebase workflow
It is actually possible to apply configuration changes to an existing Helm chart, using Kustomize (see https://testingclouds.wordpress.com/2018/07/20/844/).
Why do we adopt this technology?
Kustomize offers a solution that is far more simple and easier to understand and maintain compared to Helm. Its specialized tools for managing labels, annotations, Secrets and ConfigMaps significantly ease the effort to create and maintain them. And since there's no templating involved, errors are easy to spot and your IDE can actually assist you.