Would folks here recommend Pulumi to handle deploy...
# general
a
Would folks here recommend Pulumi to handle deploying apps to Kubernetes? I'm using Helm v2 right now and there's some trouble with upgrading to k8s v1.16. I'm not a fan of Helm in general because of the server-side components like Tiller and configmaps in
kube-system
, plus Go templating is horrendous (causing me cross my fingers). I'd rather not try upgrading to Helm v3 as that's likely to break the world and require backups and restore considerations. I'm wondering if Pulumi is a viable alternative to Helm v3, jsonett, ksonett, YAML/JSON with low-brow template system (e.g. envsubst), dhall-kubernetes, TF, etc.
b
hey! I personally thik creating a pulumi component resource for your application deployments is much more flexible and approachable than using Helm. Having said that, pulumi also supports helm without the server side component by templating the charts into YAML and allowing you to perform operations like transforms on them, so it replace the server side apply with tiller from helm v2
a lot of our customer loves Pulumi for kubernetes application management, we get a lot of great feedback about it!
c
@average-receptionist-65239 I’m biased, but I think pulumi is best-in-class for kubernetes. (I was a super, super early employee at heptio which was founded by 2/3 kube founders, and wrote the initial kube support myself.)
I should say I tried it last a couple months ago when I left to do my own thing. and, I generally use typescript.
a
I use Pulumi for all of the k8s resources unless I can't. I use some Helm charts because there is no pulumi comparable in some cases and developing my own would be a lot of work. (read: fluentd, cert-manager, nginx)
c
yeah, this sucks. it’s too bad pulumi was later than helm, the experience would be (IMHO) 10x better.
a
@creamy-potato-29402 It'll just take time and community. I don't like duplication like that, but if Helm is a PITA to setup and use in CI/CD pipelines, it may be worth it.
I think that upgrading big apps in any k8s cluster is non-trivial. Helm has been very good at standing up large apps in a standard fashion. I don't like that different repos (stable, bitnami, etc..) have different configurations (values.yaml files) but that is a different problem as repositories will compete with each other. But that has nothing to do with Helm (good) vs charts (not as good) and that is different than kubernetes (using ConfigMap to alter application behaviour)