- Hands-On Kubernetes on Windows
- Piotr Tylenda
- 344字
- 2021-06-24 16:54:08
What is Kubernetes?
In general, Kubernetes can be seen as the following:
- A container (microservices) orchestration system
- A cluster management system for running distributed applications
As a container orchestrator, Kubernetes solves common challenges that arise when deploying containerized, cloud-native applications at scale. This includes the following:
- Provisioning and deploying containers on multiple container hosts (nodes)
- Service discovery and load balancing network traffic
- Automatically scaling container instances up and down
- Automated rollouts and rollbacks of new container image versions
- Automatic, optimal bin-packing of containers with regard to resources such as CPU or memory
- Application monitoring, telemetry gathering, and health checks
- Orchestrating and abstracting storage (local, on-premises, or the cloud)
At the same time, Kubernetes can also be described as a cluster management system – the master (or multiple masters, in highly available deployments) is responsible for effectively coordinating multiple worker nodes that handle the actual container workloads. These workloads are not limited to Docker containers only – Kubernetes uses the Container Runtime Interface (CRI) on worker nodes to abstract container runtimes. Eventually, cluster clients (for example, DevOps engineers) can manage the cluster using the RESTful API that's been exposed by the master. Cluster management is performed using a declarative model, which makes Kubernetes very powerful – you describe the desired state and Kubernetes does all the heavy lifting in order to transform the current state of the cluster into the desired state.
The high-level architecture for Kubernetes can be seen in the following diagram. We'll go through each component in the next few paragraphs:
Let's begin by focusing on the role of Kubernetes master, also known as the control plane.
- Android應用程序開發與典型案例
- 零基礎學Python數據分析(升級版)
- PhpStorm Cookbook
- Python漫游數學王國:高等數學、線性代數、數理統計及運籌學
- 高級語言程序設計(C語言版):基于計算思維能力培養
- Swift細致入門與最佳實踐
- Hands-On Full Stack Development with Spring Boot 2.0 and React
- 移動增值應用開發技術導論
- Java EE Web應用開發基礎
- PhoneGap 4 Mobile Application Development Cookbook
- Python算法交易實戰
- The C++ Workshop
- Python語言及其應用(第2版)
- Node.js入門指南
- Elasticsearch源碼解析與優化實戰