十分钟带你理解Kubernetes核心概念

http://dockone.io/article/932

http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/

 

K8S的架构,略微有一点复杂,我们简单来看一下。

一个K8S系统,通常称为一个K8S集群(Cluster)

这个集群主要包括两个部分:

  • 一个Master节点(主节点)

  • 一群Node节点(计算节点)

十分钟带你理解Kubernetes核心概念

Master节点主要还是负责管理和控制。

Node节点是工作负载节点,里面是具体的容器。

深入来看这两种节点。

首先是Master节点。

十分钟带你理解Kubernetes核心概念

Master节点包括API Server、Scheduler、Controller manager、etcd

API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。

Scheduler负责对集群内部的资源进行调度,相当于“调度室”。

Controller manager负责管理控制器,相当于“大总管”。

然后是Node节点

十分钟带你理解Kubernetes核心概念

Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选),还有就是Pod

Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。这段不太好理解,跳过吧。

Docker,不用说了,创建容器的。

Kubelet,主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。

Kube-proxy,主要负责为Pod对象提供代理。

Fluentd,主要负责日志收集、存储与查询。

 

参考:

https://my.oschina.net/jamesview/blog/2994112