Closed dtomcej closed 4 years ago
I'm very unhappy with helm as a deployment tool. But I'm very happy with helm's helm template and a some custom way to deploy the output.
Just as proposal and instead "helm vs. no helm" why not use helm, but generate a single yaml
with helm template
on CI?
The major benefit to use helm is its hook system. Not having to write all the ordering logic into our installer scripts makes life much easier.
The other benefit to using helm is that the chart becomes more accessible for systems that already use helm (like k3s etc), as the chart is easily deployed, as opposed to manually handling individual scripts.
I would love to see kustomize templates for deployment.
I would also love to see an option using Kustomize, or a plain old yaml
Not everyone can use helm due to it's elevated privileges.
I've been working in quite a few projects and helm is either being re-evaluated or exchanged for Kustomize or plain yaml with minimal drawbacks, most people use it just because most tools documentation (like maesh) only provides helm as an installation option.
If removing helm from the quick start is not an option, at least should be provided a how to guide using yaml files.
Nginx ingress controller is a nice example on how to document the manual process.
Not everyone can use helm due to it's elevated privileges.
That's not true. I use helm without tiller and elevated privileges.
I would love to see kustomize templates for deployment.
From my point of view, kustomize is an another workaround like helm, but not a solution. Both are very usable for simple use cases, but if it comes to deeper customisation like removing of resources or iterating, they can't still help there. Or I'm missing something?
Another option would be converting the manifests to Jsonnet with https://github.com/ksonnet/ksonnet-lib mixins. It would reduce the amount of written code and still have flexibility.
From my point of view, kustomize is an another workaround like helm, but not a solution. Both are very usable for simple use cases, but if it comes to deeper customisation like removing of resources or iterating, they can't still help there. Or I'm missing something?
kustomize is integrated to kubectl and can add or remove resources via patch, kustomize way of doing things is much simpler and has been working well for us. I've never used it to create deployment packages that should be flexible for most use cases like in this case, so I can't argument on that, but regarding standard deployment and customization of yaml files, it does the job well.
The nice thing like about kustomize, is that we can provide a default yaml file, and apply the 'kustomizations' if needed, in this case, we can just deploy the yaml files directly or 'kustomize' it.
Hi @dtomcej, I started implementing Maesh manifests in jsonnet. Would you like me to submit a WIP PR to check on this?
@carlosedp, we are currently re-evaluating our hooks in #252, in an effort to reduce down to plain yaml for installation.
This would most likely simplify a lot of options, as helm template
would generate all the yaml needed to install.
Currently we use helm to install the mesh,
However, we may just be able to reduce the configuration to simple yaml, and
kubectl create -f
.We should re-evaluate if we want to continue using helm for deployment, as it has its own issues and potential drawbacks.