Kubernetes – Introduction / starting point for beginners (Helps to prepare the interview)

Hi All,
Greetings for the day 🙂 LIFE IS BEAUTIFUL 🙂
Nowadays exploring Dockers and Kubernetes so this is the first article on Kubernetes. Try to explain the concept in easy way
Thanks to one of Knowledge Junction family member @modisanket for discussing in depth and providing the images used in this article
In this article my goal is just to understand first the concept of Kubernetes
Prerequisites for this article:
- Understanding of containers – for more details please refer my article – Docker – Beginning with Docker – Introduction to Containers and Docker – part 1 – Try to simplify the concepts / Helps to prepare interviews 🙂
- Understanding of containerization platform / Software containerization
KUBERNETES – Most trending technology today. The first Cloud Native Cloud Foundation (CNCF) project and donated by Google, Kubernetes is the fastest growing project in the history of open Source software, after Linux.
What is KUBERNETES ?
- Platform for managing containerized applications, one of the example is – DOCKER Images
- Kubernetes is open source platform
- Google open-sourced the Kubernetes project in 2014
- Definition from kubernetes.io => Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
WHY KUBERNETES
- In one simple line – to manage containers
- Now what is mean by managing containers ? Lets discuss with simple example – Blog management application
Simple Blog management application :
- User register on blog site for requesting Author permission so that user can submit the articles / blogs
- Admin approves the request
- User submit the article
- Admin reviews the article, approves it and article get published
- Admin has access to all Articles / Blogs
- Respective user has access to all his/her articles and can update and remove those
So if we consider above application we have multiple modules there and require communication in between those
- User management
- Admins
- Article / Blog management
- Database
If we now go with development of this application with our tradition (monolithic approach) way it should look like as
There are several problems / limitations with this approach :
- Whole application is tightly coupled because of which if there’s update in one application / module, whole application will be restarted
- Replacement of module is difficult
- System upgrade will cause downtime
- Scaling application will be difficult
If we use microservices based architecture (containers / docker images / applications divided into different independent module which communicates with each other) to implement this application then the above problems can be eliminated

- Each individual application is considered as separate microservice and each service is connected via rest or other frameworks
- Individual application / module upgrade can be performed and will not impact any downtime (how – we will discuss in upcoming articles)
- Application / module upgrade can be done without any downtime (how – we will discuss in upcoming articles)
- We can easily replace any microservice if required as there’s no hard dependency on each other (as they are connected via rest apis)
- Scalability can be managed automatically (how – we will discuss in upcoming articles)
- User will have access to UI and API gateway (additional security)
- Easy to provide Developer console (Swagger – using which users can have access to individual apis)

- Here different – different applications / microservices we consider as containers or docker images
- The management of these containers and docker images is done by Kubernetes platform :
- Kubernetes gives platform to schedule and run containers on clusters of physical or virtual machines
- Kubernetes controls and automate the deployment of container / contained based applications without downtime
- Kubernetes manages scaling up / scaling down of the applications / containers on the fly without affecting running applications
- Health-check and self-heal our applications with auto-placement, auto-restart, auto-replication, and auto-scaling
In nutshell, Kubernetes makes admin team / deployment teams life easy, eases the burden of configuring, deploying, managing, and monitoring even the largest-scale containerized applications
It also helps to manage container lifecycles and related application lifecycles, and issues including high availability and load balancing
In next Kubernetes article we will start exploring in detail Kubernetes concepts
Thanks for reading 🙂 STAY SAFE 🙂 STAY HEALTHY 🙂
7 Responses
[…] Kubernetes – Introduction / starting point for beginners (Helps to prepare the interview) […]
[…] Most viewed / popular articles in previous month – Kubernetes – Introduction / starting point for beginners (Helps to prepare the – interview) https://knowledge-junction.com/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps… […]
[…] What is Kubernetes ? – https://knowledge-junction.com/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps… […]
[…] What is Kubernetes ? – https://knowledge-junction.com/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps… […]
[…] What is Kubernetes ? – https://knowledge-junction.com/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps… […]
[…] What is Kubernetes ? – https://knowledge-junction.com/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps… […]
[…] What is Kubernetes ? – https://knowledge-junction.com/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps… […]