01-k8s architecture

Original Address: https: //github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/architecture.md

Kubernetes Architecture

Kubernetes a running cluster node encompass agents ( kubelet) and the master node assembly (APIs, scheduler, etc.), which is built on top of distributed storage. The following figure shows the architecture of our expectations, even though we are still improving, such as making kebelet(all components) which run in a container, and all 100% pluggable scheduler.

The Node Kubernetes

When we look at the overall system architecture, we break it down into two parts, running on the node service work and group-level control plane services.

Kubernetes node the node having the desired service container run the application, it can be managed from the master system.

Of course, each node must run Docker. Docker responsible for downloading images, manage the details of running the vessel.

kubelet

kubelet Management pods and their containers, mirroring, disk volume and other resources.

 

kube-proxy

 

Each node also runs a simple web proxy and load balancer (For more information, see Frequently Asked Questions ). This reflects services(Kubernetes API on each node is defined in the service of the document for more details), and can perform simple across a set of back-end TCP and UDP stream forwarding (circulation).

Service endpoints currently found through DNS or environment variables. These variables are resolved to port service proxy management.

The Kubernetes Control Plane

 

Kubernetes控制层分为几部分组件。目前它们都在一个主节点上运行(single master node),但预计很快就会改变,以支持集群的高可用。这些组件协同工作以提供群集的统一视图。

etcd

集群中 master 节点的所有持久状态都存储在etcd中。它提供了一种可靠的方法,存储配置的数据。通过对watch的支持,可以非常快速地将变更通知到各个组件。

Kubernetes API Server

apiserver提供Kubernetes API。它旨在成为一个 CRUD-y 服务器,大多数/所有业务逻辑在单独的组件或插件中实现。apiserver主要处理 REST 操作,验证它们,并更新etcd(或者其他存储)中的相应对象。

Scheduler

Scheduler 程序通过 /binding API 将未调度的 pod 绑定到节点。调度程序是可拔插的,我们希望将来支持多个集群调度程序甚至用户提供的调度程序。

Kubernetes Controller Manager Server

所有其他集群级功能当前由 Controller Manager 执行。例如,Endpoints 对象由 endpoints controller 创建和更新,节点由 node controller 发现,管理和监视。这些最终可以分成单独的组件,使它们可以独立插入。

replication controller是一种机制,它在simple pod API 之上的层级。一旦实现,我们最终计划将其移植成为通用插件机制。

Guess you like

Origin www.cnblogs.com/pythonPath/p/11261548.html