Before we jump to what is Kubernetes and how it can help you to make your life easier, you must have some previous knowledge of Containers and Docker. I have already covered this in my previous post. Please check the below for reference.
Even before Docker and Kubernetes were launched, Google was running search even Gmail on containers, which you can imagine billions of containers. To manage those containers, they created in-house product Borg and then Omega. After learning from these two systems they created an open-source technology Kubernetes.
What is Kubernetes?
Docker provides the mechanism to start, stop and delete container. Kubernetes does not care about low level stuff. It cares about high level stuff like
- How many containers?
- Which nodes to run?
- When to scale up and down?
- How to update containers without downtime?
What is Orchestration?
To understand orchestration, let’s take an example of football. There are bunch of players in the team and each one’s got this or her own job. For a game, any player is not that special unless they all come together as a team and that the magic happens. To run it as team they need organizing/orchestrating. To manage or orchestrate those players and their position they need a coach or manager which tells player where to stand where to run also replace player if they are injured and all that stuff.
So let’s get back to the example, consider Kubernetes as Manager and players as Docker instances.
Kubernetes acts as a manager, it basically sends commands to docker instances when to start and stop the container and when to run them.
I hope this will help you to understand basics. In the next article we will talk about more high level about Kubernetes and advantages of using it so, stay tuned!