K8s简介

基本概念:

POD:

Pod是kubernetes的最小操作单元,一个Pod可以由一个或多个容器组成;

同一个Pod只能运行在同一个主机上,共享相同的volumes、network、namespace。

ReplicationController(RC):

RC用来管理Pod,一个RC可以由一个或多个Pod组成,在RC被创建后,

系统会根据定义好的副本数来创建Pod数量。

在运行过程中,如果Pod数量小于定义的,就会重启停止的或重新分配Pod,

反之则杀死多余的。当然,也可以动态伸缩运行的Pods规模或熟悉。

Service:

Service定义了一个Pod逻辑集合的抽象资源,Pod集合中的容器提供相同的功能。

集合根据定义的Label和selector完成,当创建一个Service后,

会分配一个Cluster IP,这个IP与定义的端口提供这个集合一个统一的访问接口,并且实现负载均衡。

Label:

Label是用于区分Pod、Service、RC的key/value键值对;

Pod、Service、RC可以有多个label,但是每个label的key只能对应一个;

主要是将Service的请求通过lable转发给后端提供服务的Pod集合;

kubectl:

客户端命令行工具,将接受的命令格式化后发送给kube-apiserver,作为整个系统的操作入口。

kubelet:

运行在每个计算节点上,作为agent,接受分配该节点的Pods任务及管理容器,周期性获取容器状态,反馈给kube-apiserver。

Kubeadm:

Google官方提供的k8s安装工具

kube-apiserver:

作为整个系统的控制入口,以REST API服务提供接口。

kube-controller-manager:

用来执行整个系统中的后台任务,包括节点状态状况、Pod个数、Pods和Service的关联等。

kube-scheduler:

负责节点资源管理,接受来自kube-apiserver创建Pods任务,并分配到某个节点。

etcd:

负责节点间的服务发现和配置共享。

kube-proxy:

运行在每个计算节点上,负责Pod网络代理。定时从etcd获取到service信息来做相应的策略。

DNS:

一个可选的DNS服务,用于为每个Service对象创建DNS记录,这样所有的Pod就可以通过DNS访问服务了。

 

 

框架流程:

K8s简介_第1张图片

 

你可能感兴趣的:(docker,docker__k8s)