Kubernetes is an open source platform that automates container operations. It simplifies many of the manual processes associated with deploying and scaling container-packaged applications. In this way, you can combine groups of hosts running Linux containers, and Kubernetes will help you effectively manage these clusters, which can span nodes in public, private or hybrid clouds. Therefore, Kubernetes is an ideal platform for hosting cloud applications that require rapid scaling, such as real-time data streaming via Apache Kafka.

Kubernetes was originally developed by Google engineers. The company was one of the first to start working with containers and publicly stated that everything at Google works in containers. Google generates more than 2 billion deployments per week – all of them run on the internal Borg platform. Borg was the forerunner of Kubernetes, and the lessons learned from its development over the years have significantly influenced Kubernetes technology.

Managed DevOps

Learn more

Kubernetes Features

The main advantage of using Kubernetes, especially if you need to optimize the working version of the application for the cloud, is to get a platform for planning and running containers on clusters of physical or virtual machines. More broadly, it helps to fully implement a robust container-based infrastructure in production environments.

With Kubernetes, you can:

  • organize containers on multiple hosts;
  • maximize the use of resources needed to run enterprise applications;
  • manage and automate application deployment and updates;
  • mount and add storage for running stateful applications;
  • scale container applications and their resources on the fly;
  • check the performance and self-repair of applications using autofill, autorun, auto-replication and autoscaling.

However, Kubernetes relies on other projects to fully provide all the features. With the help of other open-source projects, you can realize the full potential of Kubernetes:

  • registry – via Atomic Registry or Docker Registry projects;
  • networks – via OpenvSwitch and intelligent edge routing;
  • Telemetry – via Heapster, Kibana, Hawkular and elastic;
  • security – via LDAP, SELinux, RBAC and OAUTH;
  • automation – with the addition of Ansible playbooks for installation and cluster lifecycle management.

Some of the most common terms that will help you understand Kubernetes:

  • The master is a machine that manages Kubernetes nodes.
  • Node (node) – machines that perform assigned tasks. In Kubernetes, they are controlled by a master.
  • Pod is a group of one or more containers deployed on a single node. All containers in the pod share an IP address, IPC, hostname, and other resources. The pods abstract the network and storage from the base container. This makes it easier to move containers within the cluster.
  • Replication controller – determines how many identical copies of the hearth should be running inside the cluster.
  • Service – separates the working definitions from the hearths. Kubernetes proxy servers automatically receive service requests for the desired pod, regardless of where it moves in the cluster.
  • Kubelet – this service runs on nodes and reads container manifests, as well as ensures their launch and execution.
  • Kubectl is a command line configuration tool for Kubernetes.
We use cookies to optimise website functionality and improve our services. To find out more, please read our Privacy Policy.
Cookies settings
Strictly necessary cookies
Analytics cookies