4 ms·
I evaluated a lot of these templating solutions about a year ago. We ended up going with jsonnet and kubecfg as the latter was pretty simple. Helm felt okay fo
by SirensOfTitan 7y ago
I evaluated a lot of these templating solutions about a year ago. We ended up going with jsonnet and kubecfg as the latter was pretty simple.
Helm felt okay for PnP, but I want to have an explicit understanding of what I’m deploying for infra, and it seemed to abstract too much away.
Kustomize seemed too rigid.
Ksonnet seemed too magical, although I didn’t deeply look.
I still don’t love using jsonnet, as I can’t seem to find full language documentation even on the website for it.
How might this compare to kubecfg to those who might be familiar?
- shorez 7y agoRegarding Jsonnet: 1. Documentation is bad. We know that and work on improving that. Some resources that might help: - https://tanka.dev/jsonnet/overview https://tanka.dev/jsonnet/overview: Our own docs include some notes about Jsonnet in general for newcomers - https://jsonnet.org/learning/tutorial.html https://jsonnet.org/learning/tutorial.html: Taking the time to read this entire page opens eyes. Annoying and time consuming, I know but worth it. Regarding Ksonnet and Kubecfg: 1. Ksonnet was magical. Tanka hopes to be Ksonnet without the magic. We got rid of all of those concepts, parameter merging and whatnot. You have Jsonnet and Tanka, a tool that pushes Jsonnet to Kubernetes. That's it. (ok, you also get a lot of handy features like CLI completion, diff and other things to make your dev experience better) 2. Kubecfg is similar, but has a smaller scope. It evaluates Jsonnet and pipes this to kubectl (basically). At the time we started Tanka, kubecfg was by the way part of the deprecated Ksonnet project, so we assumed it dead as well. Luckily it's not, as it is a very cool project, that inspired Tanka a lot. Tanka after all aims to be like the `go` command: The one command you need to manage your entire complex kubernetes clusters. Also, Tanka is not strictly limited to a single language. For now we focus on Jsonnet, but more may come in the future