Kubernetes基本概念和术语

1.Master

Kubernetes里的Master指的是集群控制节点,每个k8s集群需要一个master来负责整个集群的管理和控制,基本上k8s所有控制命令都发给它,它来负责具体的执行过程(高可用建议部署3台服务器)

Master 节点运行的组件:

Kube-apiserver:提供http Rest接口的关键服务进程,是k8s里所有资源增删改查等操作的唯一入口,也是集群控制的入口进程。

  • Kube-controller-manager:k8s里所有资源对象的自动化控制中心,可以理解为资源对象的“大总管”。

  • Kube-scheduler:负责资源调度(pod调度)的进程,相当于公司的调度室。

另外,在master节点上还需要启动一个etcd服务,用于存储所有资源对象的数据。

 

2.Node

除了master,k8s集群中的其他机器被称为Node节点,它可以是一台物理机,也可以是一台虚拟机,是集群中的负载节点,master会根据自动算法或者自定义的策略将pod调度到指定的node上工作,当node宕机时,其上的工作负载会被master自动转移到其他节点。

每个node节点上运行的进程:

  • Kubelet:负责pod对应的容器的创建,启停等任务,与master关系密切,实现集群管理的基本功能。

  • Kube-proxy:实现kubernetes service的通信与负载均衡的组件。

  • Docker engine:docker 引擎,负责本机的容器创建与管理。

前文 如何搭建Kubernetes 已介绍如何搭建一套集群。这里不多说。

 这里可以看到集群有3个node 1个master.

相关命令:

#kubectl get nodes    用于查看集群的node信息。

#kubectl describe node $node_name    可以查看更详细的node信息。比如每个pod的CPU的使用率,内存的使用率,node的内核版本,ip信息等以及发生的event都可以查看到。

 

3.Pod

 

       Pod组成示意图

Pod是k8s的最重要也是最基本的概念,如图所示,每个pod都有一个特殊的被“根容器”的Pause容器。Pause容器对应的镜像属于k8s平台的一部分,以他的状态代表整个容器组的状态。Docker业务容器运行于pod中。

Kubernetes为每个Pod都分配了唯一的IP地址,称为pod IP,一个pod里的多个容器共享Pod IP。kubernetes要求底层网络支持集群内任意两个pod之间的tcp/ip直接通信,通常使用虚拟二层网络技术实现。

 

4.Label

Label是k8s系统中另一个重要的核心概念,label可以附加到各种对象资源上,例如可以给node打label,给pod打label,一个对象可以添加多个label,例如可以给node增加labe role: preonline 这样就代表着这是个预上线的节点,通过不同label对不同资源进行区分,方便批量更新与回滚。

 

5.Replication Controller

RC简单来说,定义了一个期望值,即声明了某种pod的副本数量在某时某刻都符合设定的值,如果实际pod的数量少于RC定义的预期的数量,则会自动新增一个pod来符合设定的预期。如配置文件:

这里创建了个RC,命名为frontend,预期存活含有tier:frontend的pod为1个(replicas=1),当预期少于1个时(例如发生node重启,关机等意外),将从template字段生成一个pod,生成后这个pod打上tier: frontend的标签。此时pod数量从0变为1,符合replicas=1的预期。当然此文件还声明了这个pod启用了tomcat的容器(container.image=tomcat)并暴露出80端口(ports.containerPort=80)。

 

6.Deployment

Deployment 其实是RC的一个升级,增加了例如升级、回滚镜像的功能,如有批量更新镜像版本,则可以使用kubectl set image deployment/$deployment_name $imager_name=$image_version

 实例:kubectl set image deployment/nginx-deploy nginx=nginx:1.9.1(升级nginx镜像到1.9.1版本)。

 

在这里插入图片描述睿江云官网链接:http://www.eflycloud.com/#register?salesID=6DGNUTUAV

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章