top of page
CXC-Logo-(colour2).png

Pod Definitions and Helm Charts

  • jonathanchoo0
  • 2 days ago
  • 2 min read

Okay, going to start this off as an informal knowledge/thought process/journal entry.


The name is Jonathan, and any posts here are purely for academic and personal development. This will likely serve as both a log of my ideas as well as documentation for my tech frustrations. Eventually, I hope to have this become a platform for exchanges and for learning. Some of my thoughts might seem a little incoherent at first, but it is also because this serves as an exercise to crystallize what I have learned.


Okay, so I have been going about learning about Kubernetes, and there was confusion on my end initially.


ree

What is the difference between a pod definition and a Helm chart?


ChatGPT proved itself to be an effective teacher by giving me the model answer concerning updates and rollbacks. But what about the way they are structured? As it turns out, they don't differ all that much once you've taken the time to go through the way they are formatted.


A pod definition .yaml file is like a one-page storybook with various chapters, while Helm charts are .yaml files divided by chapters. See below for a comparison.


ree

ree














The problem with pod definitions is that it's all on one page. If I want to change certain parameters, it's going to be a very, very painful process, especially if your pod definition contains a lot of configurations. I found this out the hard way.

Lets have a look at the pod definition .yaml


ree































Looking at the pod definition above. It is quite clear that there are plenty of configurations to take into consideration when deploying an app. How many replicas for deployment? Any volumes in this case being the html for the webpage? Are we going to give it a stable connection point like a service? What port are we going to expose?


So now you can see how complex the pod definition will get. This will prove to be a nightmare to configure as a pod definition, even if the environment is not going to be complex.


The more granular and fine-tuned the instructions you wish to give to the pod, the more cluttered your pod definition is going to be. Now compare this against a Helm chart.

ree
ree
ree

I am not going to upload all of them, but you can see how much better organized this is with the added benefit of there being version updates, rollout and rollbacks if necessary.


So where did the confusion start from and what was the "hard way" I went through? Well, I started with Helm charts at first (and yes, I was blissfully ignorant at this time) and when I moved to pod definitions, i thought, "wait a minute, isn't it easier having all configurations in just 1 page? That's right, I thought a downgrade was better. Well, now we all know better. Okay, I'll be back with better documentation of my ignorance.


Comments


bottom of page