
Kubernetes is a powerful container orchestration platform originally designed by Google for managing containerised applications, but it may seem challenging at first. To make things simpler, let’s imagine Kubernetes as a multi-branch bank. Kubernetes makes sure that apps function well across several servers, just how a bank effectively oversees its operations across numerous locations. The official documentation of Kubernetes is the best place to start if you want to learn more about it.
Let’s use this bank analogy to dissect it!
1. Control Plane – The Headquarter
The Control Plane acts as the head office of the bank, overseeing all bank branches and making key decisions to keep everything running efficiently. Major components of control plane are:
- API Server – The service desk, receiving requests and directing them to the right department. (kube-apiserver)
- Scheduler – The HR department, deciding which branch (node) should handle new employees (workloads). (kube-scheduler)
- Controller Manager – The operations manager, ensuring all branches have the right number of employees and resources. (kube-controller-manager)
- ETCD – The central database, keeping track of all accounts, transactions, branch and head office details in key value pair.(cluster state). (etcd)
2. Worker Nodes – The Bank Branches
Each Worker Node represents an individual branch, where customer transactions (applications) are processed. Major worker node components are:
- Kubelet – The branch manager, make sure employees (pods) are doing their jobs correctly. (kubelet)
- Container Runtime – The computers and ATMs, processing transactions (running applications). (Container runtime)
- Kube Proxy – The bank’s internal communication network, ensuring data flows securely between Head office and branches. (kube-proxy)
3. Pods – The Bank Employees
A Pod is like a bank employee, handling customer transactions (specific tasks). Each pod (employee) works inside a branch or head quarters (worker node or control plane) and can be replaced or reassigned as needed. (Pods)
4. Deployment – The Hiring Process
A Deployment is like the hiring system that ensures each branch has enough employees (pods). If an employee quits (pod fails), the deployment hires a replacement to keep operations running. (deployment)
5. Service – The Customer Support System
A Service is like the customer service hotline, ensuring that customers (users) can always reach the right department (application), even if employees (pods) change. (service)
6. Network Policy – Bank Security Rules
A Network Policy is like the bank’s security rules, controlling which employees (pods) can access specific information and ensuring customer data stays secure. (network policies)
7. ConfigMap – The Bank’s Information Board
A ConfigMap is like the bank’s information board, displaying general details like branch opening hours, interest rates, loan policies, etc. This information is accessible to all employees (pods) but does not contain sensitive data. (ConfigMap)
8. Secret – The Bank’s Safe for Confidential Data
A Secret is like the bank’s secure vault, storing highly sensitive information such as ATM PINs, customer account details, confidential documents, etc. Only authorized employees (specific pods) can access this information. (Secret)
Conclusion
This is not all, but for starting your kubernetes journey this terminology will help. In my next post, I’ll show you how to deploy a Kubernetes cluster on-prem, so you can start managing your own workloads with confidence! Stay tuned.
Thanks for reading the post. If you enjoyed the post, please share it with your network and let me know your thoughts in the comments.
About the Author: Imtiaz is working in a financial organization in Bangladesh and having experience in system, network and security administration. Feel free to contact with him on LinkedIn or Twitter.