Today, a variety of companies and services continue to emerge, and several applications are developed every day. It has become complicated to manage multiple hosts. It would be nice if application publishing and modification could be automated. There are times when you feel like this.
Kubernetes is gaining attention as a platform for managing and automating multiple containers. In this article, we will explain the basics of Kubernetes, its differences from Docker, and the concrete benefits of using Kubernetes.
What is Kubernetes
Kubernetes is open source software designed to manage and automate container operations. In Greek, it means pilot. It is also abbreviated as "k8s".
Kubernetes operates on Docker or other containers. Containers run various applications, but they cannot manage themselves or cooperate with other servers. This makes management complicated when you want to run containers on multiple hosts.
Kubernetes is a system that solves this problem by allowing you to manage networking, storage, etc. in a coordinated manner when running containers on multiple hosts. Such a system is also called "container orchestration.
As we will see later, Kubernetes also offers other advantages, such as self-healing, trouble tolerance, and flexible scaling to reduce CPU waste.
What is a container
Containers are a technology for building a virtual environment for running applications, which is a collection of applications, libraries, etc. on a host OS.
Although the technology is very similar to virtualization software, containers can be separated from the system as a single unit. With conventional virtualization software, it is necessary to build all resources within a single virtual environment. This is fine when you want to use different OS environments, but in actual development, there are many cases where "the OS should be the same," wasting resources to build the OS each time.
However, with containers, systems running multiple OSes can be combined into one, and while the OS is shared, the CPU and memory for running applications is managed on a container-by-container basis, so resources are saved.
What is difference between Docker and Kubernetes?
While Docker is a containers runtime, Kubernetes is a platform for running and managing containers using several container runtimes. kubernetes supports Docker, containerd, CRI-O, and Kubernetes CRI (Container Runtime Interface), including any implementation of the Container Runtime Interface.
Containers are grouped into Pods, the basic unit of Kubernetes, which automatically manages service discovery, load balancing, resource allocation, isolation, and expansion of pods. Embraced by the open source community and is now part of the Amazon, Microsoft, and Google. All of them offer managed Kubernetes on their cloud computing platforms.
Organizations use Kubernetes to automate the deployment and management of containerized applications. Rather than separately managing each container in a cluster, a DevOps team can instead tell Kubernetes how to allocate the necessary resources for all the required containers in advance.
No comments:
Post a Comment