Note : This is Part 3 of Kubernetes: The undying army of Cloud Kingdom
A new force awakens in Cloud Kingdom
The software crafters at Google created an army of powerful magical entities to bring order to cloud kingdom. These forces worked together in a silicon forest part, each team of the forces had one master and many minions. This team of Masters and Minions were called Clusters.
“Aww.. 😍 “ — She likes Minions 🤭
These minions were later known by the name Nodes. Each of the masters and the nodes resided in each machines of the silicon forest. Inside nodes, there were many forces forged together to manage the containers wrapped in a new magical shell, Pods.
Now, Pods are the frontline soldiers that live and die, inside the Pods the containers lived, fought and died with them. The idea was to re-spawn the Pods whenever they died, keeping the containers inside them live, and by so the service inside them and then keep the application alive. But it was not very simple, in the cloud kingdom everyone needed an IP address.
“ 😳 ” — Now she is confused
It’s like having an identity, see, we have our car, when we go to mall and park our car, what if the same color, same looking car is parked by its side ? How do we know which one is our car ?
“We have the number of the car written in front of it” — She kind of understands where I’m heading 😅
So similarly each Pod has an IP address and the other Pods working with a Pod can identify one using its IP address. But when a Pod was re-spawned he would get a new IP address and his comrades would no longer recognise him by his old IP address 🥴
This is a huge problem as the Pods worked in groups. The crafters then created a Commander named Service to handle this problem. Now the Service has a permanent address to which a Pod’s comrades can connect and even though a Pod is re-spawned it can be identified with the old Service’s address.
Depending on which environment is the Pods, they needed many configurations such as database urls, ports to connect etc.
“You sound like you in one of your office calls 😳 “ — She is definitely confused.
😅 So, the frontline soldiers need to know certain information — like where they can get some water, where they can get medics if they are wounded etc. These informations are different in each battlefields. In our world they are called configurations. To keep the configurations, a place called ConfigMap was created.
Also these soldiers needed to keep some secrets
“What secrets ?” —
Aaah, user name and password. No.. no.. the secrets like ‘Open Sesame’. Do you remember that cartoon where Alibaba goes to cave and opens it using it.
She rolls her eyes to remember it.
So to keep secrets like that a place called Secret was also created
To manage the Pod, Deployments are created, where a software engineer can defined the blue print of the Pod.
Using a spell that looks like this -
kubectl create deployment nginx --image=nginx
# start a single instance of nginx
Now there needs commanders in a Node to keep the Pods in order