All right.
So let's get started with this course.
And I would like to start with a definition.
Kubernetes is container orchestration system.
Using Docker, you could, of course, create container on any computer.
But of course, if you want to create multiple containers on different computers, on different servers,
you could get into the troubles.
Kubernetes allows you to create the containers on different servers, either physical or virtual, and
all of that is done automatically.
Without your intervention.
You just tell Kubernetes how many containers you would like to create based on specific image.
Kubernetes is relatively long world, and it consists of ten different letters, but IT professionals
and software developers are relatively lazy people and they don't like to type much.
That's why such a long word is usually shortened just to three characters.
But how is it done?
Let's have a look at this word between K and S.
There are actually eight different letters.
So number eight, that's why long word Kubernetes could be shortened just to three characters.
k8s so eight represents simply quantity of the letters between starting and end in a letter.
Simple as that, knowing this very simple trick, we could go on.
And now let me explain to you what Kubernetes takes care of.
So Kubernetes takes care of automatic deployment of the containerised applications across different
servers.
And those servers could be either bare metal or physical servers or virtual servers.
Virtual servers option is, of course, more common nowadays, and almost no one uses now bare metal
servers.
So Kubernetes allows you to perform automated deployments across different servers that could be located
even in different parts of the world.
Other than that, Kubernetes also takes care of distribution of the load across those multiple servers,
and this allows you to use your resources efficiently and avoid underutilization or overutilization
of the resources.
Also, Kubernetes takes care of the outer scaling of the deployed applications in case you need to increase,
for example, quantity of the containers which have to be created on different servers and all of that
done automatically.
You just tell when you want to scale up or down.
Also, Kubernetes takes care of the monitoring and health check of the containers.
And in case some containers fail, for some reasons, Kubernetes could automatically replace failed
containers.
And all of that done without your intervention.
As I just told you, Kubernetes deploys containerised applications, and therefore it has to use specific
container runtime.
And Docker is just one of the possible options.
Kubernetes nowadays supports such container runtimes, docker, cry O and container db and such container
runtime, for example, as Docker or O must be running on each of the servers which are included in
the Kubernetes cluster.
And main outcome here is that Kubernetes could be utilised even without Docker at all.
It supports other container runtimes like cry O and container D, and at the end of this course I'll
demonstrate to you how to change container runtime and move from Docker, for example, to cry o.
So now let's get started with terminology and architecture of Kubernetes, and let's start with port.