Why choose Kubernetes?
In this article we talk about Kubernetes, the open-source platform that is used to manage workloads and containerised services.
Its name comes from the Greek for “pilot” or “helmsman”. This helps us understand how useful this tool is for managing workloads and automatic container management. Its main selling points, such as its wide range of features and its portability between different Cloud providers, have contributed to its popularity and it is now used by developers all over the world.
It was created by a team of Google developers who had previously helped develop Linux container technology. Their work has resulted in the creation of a software platform made up of different components arranged according to a specific pattern: the orchestrator pattern.
Kubernetes: what it is and what elements it is made up of
Let’s look in more detail at how this pattern is composed and what its main components are:
- Master: we can define the Master as the brain of Kubernetes. It is, in fact, the centre that controls “all the nodes in the system” and that automates the distribution of containers.
- Nodes: these are the single centres that carry out the actions requested by developers. Their activity is, as mentioned above, controlled by the master.
- Kubelet: this is the software component that, by receiving and executing the orders from the master, takes care of starting, stopping, and maintaining application containers.
- Pods: are a group of containers that have the same compute resource and are on the same network. Pods are co-located on the same node and share the same IP address, IPC, host name, and other resources.
Kubernetes: what it is and what its advantages are
In the first part of our article, we explained the main components that make up Kubernetes and that control its operation. In the second part of this article, we explain in more detail what the platform is for and what its main advantages are.
Thanks to Kubernetes, it is possible to optimise application development for the Cloud, which allows the developer to use a platform to program and run containers on clusters on both physical and virtual machines.
Since it is based on the automation of operations, Kubernetes also allows you to:
- Orchestrate containers on multiple hosts
- Make better use of hardware to maximise the resources needed to manage your business applications
- Control and automate application deployments and updates
- Mount and add storage to run stateful apps
- Manage the scalability of containerised applications and their resources.
- Manage services in an open manner, ensuring the deployment of applications in accordance with the deployment methods that you have put in place.
- Check the health of applications and manage fixes with automatic provisioning, restarting, replication, and scaling.
In this article we have tried to explain the main features of Kubernetes as clearly as possible. If we have piqued your curiosity, be sure to read the next series of articles on our blog!