{"id":18984,"date":"2024-08-20T12:44:01","date_gmt":"2024-08-20T07:14:01","guid":{"rendered":"https:\/\/opstree.com\/blog\/?p=18984"},"modified":"2025-09-01T22:22:08","modified_gmt":"2025-09-01T16:52:08","slug":"helm-in-kubernetes","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2024\/08\/20\/helm-in-kubernetes\/","title":{"rendered":"What is Helm in Kubernetes ?"},"content":{"rendered":"<h2 id=\"bfa2\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\">Introduction<\/h2>\n<p class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\">Hi Guys !! Let\u2019s have some discussion on the helm in Kubernetes. I know, you all be thinking what\u2019s new in that there are lots of blogs which exists right. But let\u2019s try to understand this not in boring terms but through some of\u00a0 funny scenarios and examples.<\/p>\n<p id=\"01a3\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">LET\u2019s GET STARTED !!!<\/p>\n<p id=\"9ea5\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">First we would understand some basics about Kubernetes and twist some boring definitions in fun way.<\/p>\n<p data-selectable-paragraph=\"\"><!--more--><\/p>\n<h2 id=\"b81b\" class=\"aqs aqt amz be aqu us aqv ip ky uu aqw is lb oa aqx iv od oe aqy iy oh oi aqz jb ol ara bj\"><strong class=\"al\">Kubernetes !!<br \/>\n<\/strong><\/h2>\n<h5 class=\"aqs aqt amz be aqu us aqv ip ky uu aqw is lb oa aqx iv od oe aqy iy oh oi aqz jb ol ara bj\"><strong>( I remember a meme \u201cBrother eww what\u2019s that\u201d But let me tell you there is nothing Eww in this )<\/strong><\/h5>\n<p id=\"ab02\" class=\"pw-post-body-paragraph apx apy amz apz b aqa arb aqc aqd aqe arc aqg aqh oa ard aqj aqk oe are aqm aqn oi arf aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">First Some boring Definition<\/strong>\u00a0\ud83d\udca4 <em class=\"arg\">Kubernetes is an <a href=\"https:\/\/opstree.com\/opstree-open-source\/\" target=\"_blank\" rel=\"noopener\">open-source<\/a> container orchestration platform that automates the deployment, scaling, and management of containerized applications. It helps you manage clusters of containers, ensuring they run efficiently and reliably.<\/em><\/p>\n<p id=\"baed\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">Now the funny way \ud83d\ude02 <\/strong><em class=\"arg\">Kubernetes is like world\u2019s most overqualified nanny for your container. She make sure that they deployed on time , fed right amount of Resources, and don\u2019t throw tantrums. Think of it as a skilled cowboy who is keeping all your containers in line and ensuring they don\u2019t run wild.<\/em><\/p>\n<h2 id=\"c7c0\" class=\"aqs aqt amz be aqu us aqv ip ky uu aqw is lb oa aqx iv od oe aqy iy oh oi aqz jb ol ara bj\" data-selectable-paragraph=\"\"><strong class=\"al\">Here comes the HELM \ud83d\udca4<\/strong><\/h2>\n<p id=\"ea52\" class=\"aqs aqt amz be aqu us aqv ip ky uu aqw is lb oa aqx iv od oe aqy iy oh oi aqz jb ol ara bj\">Helm is a package manager for<a href=\"https:\/\/kubernetes.io\/docs\/home\/\" target=\"_blank\" rel=\"noopener\"> Kubernetes<\/a>, similar to how\u00a0<code class=\"cu ari arj ark arl b\">apt<\/code>\u00a0works for Ubuntu or\u00a0<code class=\"cu ari arj ark arl b\">yum<\/code> for CentOS. It helps you manage Kubernetes applications by packaging them into a format called Helm Charts.<\/p>\n<h2 id=\"b6b0\" class=\"arm aqt amz be aqu kw arn kx ky kz aro la lb lc arp ld le lf arq lg lh li arr lj lk ars bj\"><strong class=\"al\">Helm \ud83d\ude02\ud83d\ude02<\/strong><\/h2>\n<p id=\"c468\" class=\"pw-post-body-paragraph apx apy amz apz b aqa arb aqc aqd aqe arc aqg aqh oa ard aqj aqk oe are aqm aqn oi arf aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><em class=\"arg\">Helm is like the \u201cgrocery delivery service\u201d for your Kubernetes cluster. Just like how you can use an app to get all your favorite snacks delivered to your door, Helm packages up all the bits and pieces your Kubernetes apps need and delivers them neatly in a Helm Chart. No more running around the YAML aisles \u2014 Helm brings everything to you in one tidy package, so you can focus on the fun stuff, like actually running your apps!<br \/>\n<\/em><\/p>\n<p data-selectable-paragraph=\"\">[Also Read: <a href=\"https:\/\/opstree.com\/blog\/2021\/09\/16\/what-are-helm-charts\/\" target=\"_blank\" rel=\"noopener\">What are Helm Charts?<\/a>]<\/p>\n<h4><strong class=\"apz nv\">History of HELM, Why it came ?\u270f\ufe0f<\/strong><\/h4>\n<figure class=\"adw adx aru arv arw amo amj amk paragraph-image\">\n<div class=\"amp amq gi amr bg ams\" role=\"button\">\n<div class=\"amj amk art\"><img loading=\"lazy\" decoding=\"async\" class=\"bg uj amt c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:381\/1*hNWKCxQvUAX-yuXpXeNRhg.gif\" alt=\"\" width=\"346\" height=\"401\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"d694\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Once upon a time in the Wild West of Kubernetes, developers were drowning in a sea of YAML files, desperately trying to lasso their scattered containers into some semblance of order. Every update was like trying to herd cats \u2014 chaotic and full of surprises. Then along came Helm, the \u201cKubernetes Sheriff,\u201d with a shiny badge and a magical bag of Helm Charts. Helm rounded up all those unruly YAML files, tamed the chaos, and brought peace to the Kubernetes town. Now, with Helm in charge, developers can finally sit back, relax, and enjoy a cup of coffee without worrying that their apps are about to stage a jailbreak!<\/p>\n<h4 id=\"6f00\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">HELM Architecture<\/strong><\/h4>\n<figure class=\"adw adx aru arv arw amo amj amk paragraph-image\">\n<div class=\"amp amq gi amr bg ams\" role=\"button\">\n<div class=\"amj amk arx\"><img loading=\"lazy\" decoding=\"async\" class=\"bg uj amt c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:770\/0*NVDvAfqFMc2OizmZ.png\" alt=\"\" width=\"700\" height=\"304\" \/><\/div>\n<\/div>\n<\/figure>\n<h4 id=\"24bd\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">Helm Architecture Work Flow<\/strong><\/h4>\n<p id=\"84a7\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Let\u2019s break down the Helm architecture workflow in a more structured (but still lighthearted) way:<\/p>\n<p id=\"a9bf\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">1. Chart Creation:<\/strong> \u2014 A developer creates a Helm chart, which is like a recipe book for a Kubernetes application. \u2014 This chart contains all the ingredients (Kubernetes manifests) and cooking instructions (templates).<\/p>\n<p id=\"764a\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">2. Chart Storage:<\/strong> \u2014 The chart is then stored in a chart repository, which is like a giant cookbook library in the cloud.<\/p>\n<p id=\"ca87\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">3. Installation Prep:<\/strong> \u2014 A user decides they want to deploy an application using Helm. \u2014 They fetch the desired chart from the repository.<\/p>\n<p id=\"ff18\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">4. Value Customization:<\/strong> \u2014 The user can customize the chart by modifying the values.yaml file. \u2014 This is like adjusting the recipe to taste \u2014 more salt, less pepper, gluten-free options, etc.<\/p>\n<p id=\"b661\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">5. Template Rendering:<\/strong> \u2014 Helm takes the chart and the custom values and runs them through its templating engine. \u2014 This process is like having a robot chef interpret your customized recipe.<\/p>\n<p id=\"c31d\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">6. Kubernetes Manifest Generation:<\/strong> \u2014 The templating process produces the final Kubernetes manifests. \u2014 These are the exact instructions Kubernetes needs, like a detailed shopping list and cooking plan.<\/p>\n<p id=\"1908\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">7. Installation:<\/strong> \u2014 Helm sends these manifests to Kubernetes. \u2014Kubernetes then creates all the necessary resources (pods, services, etc).<\/p>\n<p id=\"bcab\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">8. Release Creation:<\/strong> \u2014 Helm creates a release, which is a snapshot of what was installed. \u2014 This is like taking a photo of your perfectly plated meal for posterity.<\/p>\n<p id=\"54fb\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">9. Release Storage:<\/strong> \u2014 Helm stores information about the release in its release history. \u2014 This history is typically kept in Kubernetes secrets.<\/p>\n<p id=\"1790\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">10. Upgrade\/Rollback:<\/strong> \u2014 If changes are needed, Helm can upgrade the release with new values or chart versions. \u2014 If something goes wrong, Helm can roll back to a previous version. \u2014 It\u2019s like being able to magically revert your overcooked souffl\u00e9 back to its perfect, fluffy state!<\/p>\n<p id=\"32f2\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">11. Uninstallation:<\/strong> \u2014 When no longer needed, Helm can uninstall the release, cleaning up all associated Kubernetes resources. \u2014 It\u2019s like having a magical kitchen that cleans itself up after the meal is over<\/p>\n<h4 id=\"7f41\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">Components of Helm<\/strong><\/h4>\n<p id=\"957e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">1. Helm Client 2. Helm Chart 3. Helm Repository 4. Release 5. Tiller (deprecated) 6. Values.yaml 7. Templates 8. Charts Directory 9. Notes.txt 10. Helm Hooks<\/p>\n<p id=\"d753\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">1. Helm Client<\/strong><\/p>\n<p id=\"992e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: The Helm Client is the command-line interface (CLI) that developers interact with. It is responsible for sending instructions to the Kubernetes API server via Helm commands like `helm install`, `helm upgrade`, and `helm rollback`. The client handles the packaging, unpackaging, and management of Helm charts.<\/p>\n<p id=\"b037\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: The Helm Client is like the remote control for your Kubernetes TV. With just a few button presses, you can change the channel (deploy an app), adjust the volume (scale your app), or even rewind if you missed something (rollback).<\/p>\n<p id=\"3186\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">2. Helm Chart<\/strong><\/p>\n<p id=\"0752\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: A Helm Chart is a collection of files that describe a set of Kubernetes resources. It\u2019s like a blueprint for deploying an application, containing everything needed to install and configure the app within a Kubernetes cluster.<\/p>\n<p id=\"311d\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: Think of a Helm Chart as your grandma\u2019s secret recipe for Kubernetes pie. It\u2019s got all the instructions and ingredients to bake the perfect app, without you having to figure out how much Kubernetes flour or YAML sugar to use.<\/p>\n<p id=\"3ff1\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">3. Helm Repository<\/strong><\/p>\n<p id=\"8f11\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: A Helm Repository is a collection of Helm Charts, much like a package repository in other software ecosystems. You can store your charts in public or private repositories, making it easy to share and distribute your applications.<\/p>\n<p id=\"b8d9\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: The Helm Repository is like the app store for Kubernetes chefs. It\u2019s stocked with all kinds of charts, from the basic Nginx salad to the complex Redis souffl\u00e9. Just browse, pick, and deploy \u2014 no need to cook from scratch!<\/p>\n<p id=\"4714\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">4. Release<\/strong><\/p>\n<p id=\"e159\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: A Release is a specific instance of a Helm Chart running in your Kubernetes cluster. Each time you install a chart, Helm creates a release, allowing you to manage and upgrade each deployment individually.<\/p>\n<p id=\"4cc2\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: A Release is like the dish you\u2019ve just served using grandma\u2019s Kubernetes recipe (Helm Chart). If it tastes great, you can keep serving it. If it flops, well, there\u2019s always room for a do-over (rollback)!<\/p>\n<p id=\"a7c5\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">5. Tiller (Deprecated)<\/strong><\/p>\n<p id=\"7db9\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: Tiller was the server-side component of Helm that handled releases and interacted with the Kubernetes API server on behalf of the Helm Client. However, Tiller was removed in Helm 3 due to security concerns, and now Helm directly interacts with Kubernetes.<\/p>\n<p id=\"8854\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: Tiller was like the kitchen helper who used to run around making sure all your recipes got cooked correctly. But now, with Helm 3, the kitchen is self-serve, and you get to be the master chef directly.<\/p>\n<p id=\"f6bd\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">6. Values.yaml<\/strong><\/p>\n<p id=\"cee3\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: The `Values.yaml` file is where you define the default configuration values for your Helm Chart. These values can be overridden during installation or upgrade, allowing for flexible customization.<\/p>\n<p id=\"4292\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: &#8216;values.yaml&#8217; is like the shopping list for your Kubernetes recipe. It tells you how much of each ingredient (resources, settings) you need to get the flavor just right. If you\u2019re feeling adventurous, you can tweak the list before cooking!<\/p>\n<p id=\"e227\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">7. Templates<\/strong><\/p>\n<p id=\"933e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: The `templates` directory in a Helm Chart contains the Kubernetes resource definitions in the form of Go templates. These templates are filled in with the values from `values.yaml` to create the final YAML files that Kubernetes will use.<\/p>\n<p id=\"c18d\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: Templates are like the cookie cutters in your Kubernetes bakery. They shape your ingredients (values) into perfectly formed cookies (YAML files) that are ready to be baked (deployed) in your cluster.<\/p>\n<p id=\"79fe\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">8. Charts Directory<\/strong><\/p>\n<p id=\"6589\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: The `charts` directory within a Helm Chart is where you can include other Helm Charts as dependencies. This allows you to bundle multiple charts together, creating complex applications with many components.<\/p>\n<p id=\"f27f\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: The &#8216;charts&#8217; directory is like a nesting doll of recipes. Inside your Kubernetes cookbook, you find other mini-cookbooks that each contain their own recipes, so you can whip up a complete multi-course meal with ease.<\/p>\n<p id=\"4ecc\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">9. Notes.txt<\/strong><\/p>\n<p id=\"6be6\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: The &#8216;NOTES.txt&#8217; file in a Helm Chart provides end-user instructions on how to interact with the application once it\u2019s been deployed. It\u2019s a way to communicate important information, such as how to access the application or monitor its status.<\/p>\n<p id=\"178e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: &#8216;NOTES.txt&#8217; is like the little note your grandma leaves on her secret recipe, telling you how to serve the dish and what wine pairs best. Without it, you might have a great app but no idea how to enjoy it!<\/p>\n<p id=\"92e9\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">10. Helm Hooks<\/strong><\/p>\n<p id=\"c8c5\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Boring Version: Helm Hooks allow you to run certain tasks at specific points in a release lifecycle, such as before or after installing, upgrading, or deleting a release. This is useful for tasks like database migrations or backups.<\/p>\n<p id=\"472a\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Version: Helm Hooks are like the secret sauce that grandma adds at just the right moment in her recipe. It\u2019s the finishing touch that takes your Kubernetes meal from good to gourmet, without you having to lift a finger!<\/p>\n<h4 id=\"7dd0\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">Advantage and Disadvantage of Helm<\/strong><\/h4>\n<p id=\"cb28\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong>Advantages:<\/strong> Helm simplifies application management, promotes reuse and customization, supports dependency management, and ensures consistent deployments.<\/p>\n<p id=\"9031\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong>Disadvantages:<\/strong> Helm can introduce complexity, requires a learning curve, and may have issues with chart quality and security. Helm 2\u2019s Tiller had concerns that Helm 3 addressed, but using Helm still involves some overhead and potential versioning issues.<\/p>\n<p data-selectable-paragraph=\"\"><a href=\"https:\/\/opstree.com\/case-study\/modernising-application-platform-engineering-for-a-million-user-auto-commerce-leader\/\" target=\"_blank\" rel=\"noopener\">Explore how a million-user auto-commerce platform re-engineered its core systems for scale and speed.<\/a><\/p>\n<h2 id=\"0748\" class=\"arm aqt amz be aqu kw arn kx ky kz aro la lb lc arp ld le lf arq lg lh li arr lj lk ars bj\"><strong class=\"al\">HELM Chart \u2638\ufe0f<\/strong><\/h2>\n<p id=\"e3a3\" class=\"pw-post-body-paragraph apx apy amz apz b aqa arb aqc aqd aqe arc aqg aqh oa ard aqj aqk oe are aqm aqn oi arf aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong>Definition \ud83d\udca4<\/strong><\/p>\n<p id=\"da83\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">A <a href=\"https:\/\/opstree.com\/blog\/2021\/03\/23\/create-your-first-helm-chart-part-03\/\" target=\"_blank\" rel=\"noopener\">Helm Chart<\/a> is a package of pre-configured Kubernetes resources. It contains all the YAML files and templates needed to deploy and manage an application in a Kubernetes cluster, making it easy to install, upgrade, and maintain complex applications.<\/p>\n<p id=\"b4d8\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong>Fun Version \ud83d\ude02<\/strong><\/p>\n<p id=\"8681\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><em class=\"arg\">A Helm Chart is like a recipe card for your Kubernetes kitchen. It\u2019s got all the ingredients and step-by-step instructions you need to whip up a deliciously functional app. Just follow the chart, and voil\u00e0! Your Kubernetes cluster serves up a perfect application, without you having to scramble around like a stressed-out chef trying to remember if you added the salt.<\/em><\/p>\n<h4 id=\"5186\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">Components of Helm Chart <\/strong><\/h4>\n<p class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">A Helm Chart is a package that contains all the necessary Kubernetes resource configurations to deploy an application. It includes several key components that work together to define and manage the <a href=\"https:\/\/opstree.com\/services\/\" target=\"_blank\" rel=\"noopener\">application\u2019s deployment<\/a>. Here\u2019s a detailed look at each component:<\/p>\n<p id=\"797f\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">1. Chart.yaml<\/strong><\/p>\n<p id=\"17ce\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This file contains metadata about the Helm Chart, including its name, version, and description.<\/p>\n<ul class=\"\">\n<li id=\"d7bf\" class=\"apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr ary arz asa bj\" data-selectable-paragraph=\"\">Key Fields: \u2014 name: The name of the chart. \u2014 version: The version of the chart. \u2014 description: A brief description of the chart. \u2014 maintainers: List of maintainers of the chart. \u2014 dependencies: List of other charts that this chart depends on.<\/li>\n<\/ul>\n<p id=\"013f\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">2. values.yaml<\/strong><\/p>\n<p id=\"9a5e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This file contains default configuration values for the chart. Users can override these values during installation or upgrades. &#8211; Purpose: To provide a way to customize the deployment without modifying the chart\u2019s templates directly. &#8211; Usage: Commonly includes settings for environment variables, resource limits, and replica counts.<\/p>\n<p id=\"8c6e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">3. templates\/<\/strong><\/p>\n<p id=\"498b\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This directory contains Kubernetes resource templates in the form of Go templates. These templates define the actual resources to be deployed.<\/p>\n<p id=\"be2b\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">\u2014 Key Components:<\/p>\n<p id=\"ee9e\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">\u2014 Deployment.yaml: Defines how the application is deployed. \u2014 Service.yaml: Defines how the application is exposed within the cluster. \u2014 Ingress.yaml:Defines how external traffic is routed to the application. \u2014 ConfigMap.yaml: Defines configuration data that the application can use. \u2014 Secret.yaml: Defines sensitive data such as passwords or tokens. &#8211; Purpose: Templates use values from `values.yaml` to render the final Kubernetes resource YAML files.<\/p>\n<p id=\"e384\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">4. charts\/<\/strong><\/p>\n<p id=\"74d7\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This directory can include other Helm Charts as dependencies. These sub-charts are packaged together with the main chart. &#8211; Purpose: To manage dependencies between charts, allowing complex applications to be split into smaller, manageable components.<\/p>\n<p id=\"bd51\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">5. NOTES.txt<\/strong><\/p>\n<p id=\"89e0\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This file provides instructions or information to users after the chart is deployed. It often includes tips on how to access or interact with the deployed application. &#8211; Purpose: To provide post-deployment information or instructions, such as URLs, credentials, or commands to access the application.<\/p>\n<p id=\"075a\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">6. .helmignore<\/strong><\/p>\n<p id=\"e3bc\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This file contains patterns for files and directories to ignore when packaging the chart. &#8211; Purpose: To exclude unnecessary files from the chart package, keeping it clean and lightweight. &#8211; Usage: Similar to `.gitignore`, it helps prevent files like local development artifacts or logs from being included in the chart.<\/p>\n<p id=\"8ab8\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">7. Chart.lock<\/strong><\/p>\n<p id=\"77c5\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: This file is generated automatically by Helm and contains a locked version of the chart\u2019s dependencies. &#8211; Purpose: To ensure that the exact versions of dependencies are used when the chart is installed or upgraded. &#8211; Usage: Helps maintain consistency and stability across different deployments by locking dependency versions.<\/p>\n<p id=\"a65a\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">8. values.schema.json<\/strong><\/p>\n<p id=\"cdcf\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: (Optional) This file provides a JSON schema for validating the `values.yaml` file. &#8211; Purpose: To enforce validation rules on the configuration values provided by users. &#8211; Usage: Helps catch errors or misconfigurations in the `values.yaml` file by validating it against the schema.<\/p>\n<p id=\"7b69\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">9. README.md<\/strong><\/p>\n<p id=\"e903\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">&#8211; Description: (Optional) A Markdown file that provides documentation for the Helm Chart. &#8211; Purpose: To explain how to use the chart, including installation instructions, configuration options, and any other relevant details. &#8211; Usage: Acts as a guide for users to understand how to deploy and configure the application using the Helm Chart.<\/p>\n<p id=\"414d\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">10. Test Files<\/strong><\/p>\n<ul class=\"\">\n<li id=\"47a2\" class=\"apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr ary arz asa bj\" data-selectable-paragraph=\"\">Description: (Optional) Files or scripts used to test the Helm Chart\u2019s deployment. &#8211; Purpose: To ensure that the chart works as expected and meets the defined requirements. &#8211; Usage: Includes test configurations or scripts that can be run to verify the chart\u2019s functionality<\/li>\n<\/ul>\n<h4 id=\"650b\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">Advantage and Disadvantage of Helm Chart<\/strong><\/h4>\n<p id=\"aaed\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">Advantages:<\/strong>\u00a0Helm Charts simplify deployment, provide configuration management, support reuse and versioning, handle dependencies, and ensure consistent deployments. They also offer extensibility through plugins.<\/p>\n<p id=\"85dc\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\"><strong class=\"apz nv\">Disadvantages:<\/strong>\u00a0Helm Charts can be complex, have a learning curve, and may suffer from varying quality and security. They also introduce overhead, compatibility issues, and require ongoing maintenance.<\/p>\n<h2 id=\"06a3\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">Examples of HELM<\/strong><\/h2>\n<h5 id=\"e7fd\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">1. Helm: The \u201cApp Store\u201d for Your Kubernetes Cluster<\/strong><\/h5>\n<p id=\"926d\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: Imagine you just bought a new smartphone. The first thing you do is head to the app store to download your favorite apps. You type \u201cNginx\u201d (because you\u2019re cool like that) into the search bar, hit install, and within seconds, you\u2019ve got a shiny new web server running on your phone.<\/p>\n<p id=\"f658\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: Now, picture trying to install Nginx without an app store. You\u2019d have to assemble the code by hand like a 1,000-piece puzzle, all while avoiding a meltdown because you lost that one crucial piece under the couch. Helm is your app store for Kubernetes, saving you from Kubernetes-induced headaches!<\/p>\n<h5 id=\"2ba6\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">2. Helm Charts: The Cookbook for Kubernetes Recipes<\/strong><\/h5>\n<p id=\"fac6\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: You\u2019re in the kitchen, craving some homemade pizza. You grab a recipe from your favorite cookbook, which tells you exactly what ingredients you need and how to put them together. That\u2019s your Helm Chart \u2014 a recipe that tells Kubernetes how to cook up your application.<\/p>\n<p id=\"fdb0\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: Without a recipe (Helm Chart), you\u2019d be tossing random ingredients into a pot, hoping for the best, and probably ending up with a pizza-flavored smoothie. Not exactly what you were aiming for, right? Helm keeps your Kubernetes meals from turning into kitchen disasters.<\/p>\n<h5 id=\"19b2\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">3. Helm Repositories: The Supermarket for Kubernetes Recipes<\/strong><\/h5>\n<p id=\"ab1c\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: Think of Helm repositories like your local supermarket. You walk in with your shopping list (Nginx, MySQL, Redis) and pick up pre-packaged meals (Helm Charts) for each. It\u2019s like skipping the \u201cfrom scratch\u201d section and heading straight to the \u201ceasy to cook\u201d aisle.<\/p>\n<p id=\"f164\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: Imagine walking into a supermarket where all the labels are missing. Is this flour or powdered sugar? Will this package deploy a web server or a rogue AI? Thankfully, with Helm repositories, you don\u2019t have to guess what you\u2019re installing \u2014 no surprise AI takeovers here!<\/p>\n<h5 id=\"b3e0\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">4. Helm Releases: The \u201cIn-Use\u201d Shopping Cart<\/strong><\/h5>\n<p id=\"bd61\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: You\u2019ve picked up all your ingredients (Helm Charts) and thrown them into your shopping cart (Helm Release). As you push it around the store, you can still decide to add more stuff (upgrade) or remove something (rollback).<\/p>\n<p id=\"b371\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: But what if you suddenly realize you don\u2019t actually need 10 pounds of carrots? With Helm, rolling back is as easy as chucking those carrots back onto the shelf, instead of eating carrot soup for the next month.<\/p>\n<h5 id=\"44dc\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">5. Helm Upgrades: The Software Update for Your Pizza Oven<\/strong><\/h5>\n<p id=\"2fff\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: Your pizza oven just got a firmware update! Now it bakes pizzas 20% faster and with a perfect crust every time. Helm upgrades do the same for your applications, ensuring they\u2019re running the latest and greatest without needing to buy a new oven.<\/p>\n<p id=\"2ceb\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: But what if the update makes your oven burn every pizza? Helm has a rollback feature, so you can undo that disastrous update and save dinner from becoming charcoal. It\u2019s like a time machine for your software!<\/p>\n<h5 id=\"0dec\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">6. Helm Rollbacks: The \u201cUndo Button\u201d for Your Life<\/strong><\/h5>\n<p id=\"f527\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: Ever wish life had an undo button? Like when you accidentally send an embarrassing text or over-salt the pasta. Helm rollbacks are the Kubernetes equivalent \u2014 one command, and your cluster is back to its pre-disaster state.<\/p>\n<p id=\"ba0d\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: If only Helm could help you rollback that time you tried to impress your date by cooking lobster and ended up setting off the smoke alarm. Alas, Helm rollbacks are just for software \u2014 your culinary adventures remain unprotected.<\/p>\n<h5 id=\"b3e9\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\">7.<strong> Helm Hooks: The \u201cSurprise\u201d Party Planner<\/strong><\/h5>\n<p id=\"dbfc\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: You\u2019re throwing a surprise birthday party, but you need to get everything ready before the guest of honor arrives. Helm hooks let you run scripts before, during, or after an event, like setting up the party before the birthday person walks in.<\/p>\n<p id=\"589b\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: Imagine if the cake got delivered after the birthday song or the guests showed up after the party ended. Helm hooks keep your surprises on track, so your Kubernetes parties don\u2019t fall flat!<\/p>\n<h5 id=\"8215\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">8. Helm Dependencies: The Group Project Partner You Actually Want<\/strong><\/h5>\n<p id=\"74e2\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: Remember those group projects where you had to rely on others to get the work done? Helm dependencies are like choosing the smartest, most reliable classmates to help you ace the project.<\/p>\n<p id=\"43da\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: But instead of ending up doing all the work yourself while your partner plays video games, Helm dependencies ensure everyone pulls their weight. It\u2019s like having a dream team that never leaves you hanging.<\/p>\n<h5 id=\"0098\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\"><strong class=\"apz nv\">9. Helm Templates: The Custom-Made Suit<\/strong><\/h5>\n<p id=\"a94f\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Daily Example: You\u2019re getting a custom-made suit, tailored to fit you perfectly. Helm templates are like that suit, tailored to fit your application\u2019s needs, with all the specific configurations you want.<\/p>\n<p id=\"4e10\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">Funny Twist: Without a template, you\u2019d be stuck wearing an off-the-rack suit that\u2019s two sizes too big, making you look like a kid playing dress-up. Helm ensures your Kubernetes applications are always a perfect fit, no awkward adjustments required.<\/p>\n<p id=\"12be\" class=\"pw-post-body-paragraph apx apy amz apz b aqa aqb aqc aqd aqe aqf aqg aqh oa aqi aqj aqk oe aql aqm aqn oi aqo aqp aqq aqr nm bj\" data-selectable-paragraph=\"\">These funny, relatable examples can help turn your blog into an engaging read while educating your audience on the ins and outs of Helm and Helm Charts in Kubernetes!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Hi Guys !! Let\u2019s have some discussion on the helm in Kubernetes. I know, you all be thinking what\u2019s new in that there are lots of blogs which exists right. But let\u2019s try to understand this not in boring terms but through some of\u00a0 funny scenarios and examples. LET\u2019s GET STARTED !!! First we &hellip; <a href=\"https:\/\/opstree.com\/blog\/2024\/08\/20\/helm-in-kubernetes\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;What is Helm in Kubernetes ?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":244582682,"featured_media":18986,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":true,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[768739351],"tags":[5373448,768739294,768739371,768739568,768739309],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/08\/What-is-Helm-in-Kubernetes-.png","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-4Wc","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/18984"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/244582682"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=18984"}],"version-history":[{"count":8,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/18984\/revisions"}],"predecessor-version":[{"id":29600,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/18984\/revisions\/29600"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/18986"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=18984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=18984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=18984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}