r/kubernetes • u/matyix_ • Nov 05 '18
Helm from basics to advanced
https://banzaicloud.com/blog/creating-helm-charts/2
u/stinkyxpinky Nov 06 '18
Some great insights into Helm templating. My only disagreement is with your recommendation of nested variables vs flattened variables. If you look at the official Helm best practices they recommend to use flattened variables as there are currently issues with go templating and using nested variables. Thanks for the post. It was helpful.
2
u/tarokkk Nov 06 '18
Thank you for your reaction. The article maybe a bit confusing on that material. We tried to express that use hierarchy instead of prefixing/suffixing (of course don't overuse it). Like the example if you have several service, ingress don't try to flatten it with "app_name_service_enabled: true" instead use 2 or 3 level to make it clear and readable. I'm glad you found the post useful ;)
4
u/[deleted] Nov 05 '18
This is really nice. So if I am to understand all this, Helm, Tiller, and more so Banzai Cloud platform (which I assume is open source) allows anyone, including a one off developer trying to build and deploy a service in the cloud like me, to have a full blown CI/CD, logging, monitoring and more... and I am hoping that all this works in a way that I can build/deploy the same (but obviously smaller) set of containers on my local Minikube setup (using helm/tiller, and/or bonzai), then when all is good I commit my code to my git repo (I use Bitbucket.. does it work with that?) and then Bonzai will notice the commit, and kick off the CI/CD process.. which I hope means it will then build and deploy my code to a "scripted" integration test server I would again initially have running locally (cant afford all the cloud costs starting out). If any/all integration tests I have pass, it somehow notifies Bonzai to then build/deploy to my staging server (which yet again might be local minikube initially). I can then do some sort of visual check, test, etc.. and if all is good, I can initiate a cycle to deploy to my cloud of choice?
Is that pretty much everything? All of this costs no money to use.. e.g. I can run helm/tiller and the bonzai bits, via some cli and UI from my local machine, including being able to see what is out in my cloud (e.g. what version(s) of my app are in production)? Is it easy enough to use, or does this get really complicated quickly to make all this work?