What is Kubernetes?
Kubernetes (also known as k8s or Kube) – a container orchestration system, an open-source tool that automates the deployment, scaling, replication, and monitoring of containerized applications. In simple terms, Kubernetes allows you to efficiently manage any number of containers (the concept of what are Containers can be found here).
The name Kubernetes comes from Greek, which means helmsman or navigator. Google opened the source code for Kubernetes in 2014. Kube builds on Google’s 10 years of experience with large-scale workloads, coupled with best-in-class ideas and community practices
Since its inception in 2014, it has gradually become a fashionable topic of articles and discussions not only in the circles of developers, including for the reason that it brings real benefits to a business.
What is Kubernetes used for?
Kubernetes turns a data center into one huge computing resource. Technicians don’t even need to know what physical servers are at the base. You can deploy and run software components without it.
Kubernetes provides you with:
- Service monitoring and load balancing Kube can discover a container using a DNS name or its own IP address.
- Kubernetes storage orchestration allows automatically mount storage of your choice. Such as local storage, public cloud providers, and more.
- Automatic deployment and rollbacks using Kube, you can describe the desired state of deployed containers and change the actual state to the desired state.
- Automatic load balancing You provide Kube with a cluster of nodes that it can use to run container tasks.
- Kubernetes self- monitoring restarts failed containers, replaces and shuts down containers that do not pass a user-defined health check, and do not show them to clients until they are ready for service.
- Confidential information and configuration management Kube can store and manage sensitive information such as passwords, OAuth tokens, and SSH keys.
But most importantly: Kube allows you to deploy and run any type of application in cloud data centers without involving the cloud provider’s system administrators – they have no access to application data. This saves time and manpower while increasing process safety.
Kubernetes deployment, scaling, management
Kubernetes gives you a framework for agile distributed systems. He deals with scaling and error handling in the application, provides deployment templates, and more. For example, Kube can simply manage your system’s canary deployments.
The main implementation of the Kube API Server is kube-apiserver. It is designed for horizontal scaling, that is, deploying to multiple instances. You can run multiple kube-apiserver instances and balance traffic between those instances.
The API server is a component of Kube control panelswhich represents the Kube API. The API server is the front end of the Kube dashboard