Kubernetes容器编排技术---Kubernetes基本概念和术语(一)

Kubernetes基本概念和术语

  1、Master

  Kubernetes里的Master指的是集群控制节点,每个Kubernetes集群里需要有一个Master节点来负责整个集群的管理和控制,基本上Kubernetes所有的控制命令都是发给它,它来负责具体的执行过程,我们后面所有执行的命令都是在Master节点上运行的。

  Master节点运行关键进程:

  • Kubernetes API Server(kube-apiserver),提供了HTTP Rest接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程。
  • Kubernetes Controller Manager(kube-controller-manager),Kubernetes里所有资源对象的自动化控制中心。
  • Kubernetes Scheduler(kube-schedule),负责资源调度(Pod调度)的进程。

  其实Master节点上往往还启动一个etcd Server进程,因为Kubernetes里的所有资源对象的数据全部保存在etcd中的。

  2、Node

  除了Master,Kubernets集群中的其他机器被称为Node节点。

  Node节点运行关键进程:

  • kubelet:负责pod对应的容器的创建、启停等任务,同时与Master节点密切协作,实现集群管理的基本功能。
  • kube-proxy:实现Kubernetes Service的通信与负载均衡机制的重要组件
  • Docker Engine(docker):Docker引擎,负责本机的容器创建和管理工作。

  Node节点可以在运行期间动态增加到Kubernetes集群中,前提是这个节点上已经正确安装、配置和启动了上述关键进程,在默认情况下Kubelet会向Master注册自己,这也是Kubernetes推荐的Node管理方式。一旦Node被纳入集群管理范围,kubelet进程就会定时向Master节点汇报自身的情报。当某个node超过指定时间不上报信息时,Node的状态被标记为不可用(Not Ready),随后Master会触发“工作负载大转移”的自动流程。

  3、Pod

  Pod是Kubernetes的最重要也是基本的概念,每个Pod都有一个特殊的被称为“根容器”。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器。

   

  4、Label(标签)

  一个Label是一个key=value的键值对,其中key与value由用户自己指定。Label可以附加到各种资源对象上,例如Node、Pod、Service、RC等,一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数量的资源对象上去,Label通常在资源对象定义时确定,也可以在对象创建后动态添加或者删除。

   一些常用的Label示例如下:

  • 版本标签:“release”:“stable”,“release”:“canary”...
  • 环境标签:“environment”:“dev”,“environment”:“qa”,“environment”:“production”
  • 架构标签:“tier”:“frontend”,“tier”:“backend”,“tier”:“middleware”
  • 分区标签:“partition”:“costomerA”,“partition”:“customerB”...
  • 质量管控标签:“track”:“daily”,“track”:“weekly”

   Label相当于我们熟悉的“标签”,给某个资源对象定义一个Label,相当于给它打一个标签,随后可以通过Label Selector(标签选择器)查询和筛选拥有某些的资源对象,Kubernetes通过这种方式实现了类似SQL的简单又通用的对象查询机制。

  5、Replication Controller(RC)

   RC是Kubernetes系统中的核心概念之一,它其实是定义一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,所以RC的定义包括以下几个部分:

  • Pod期待的副本数(replicas)
  • 用于筛选目标Pod的Label Selector
  • 当Pod的副本数量小于预期数量的时候,用于创建新Pod的Pod模板(template)

  最后我们总结一下关于RC(Replica Set)的一些特性与作用。

  • 在大多数情况下,我们通过定义一个RC实现Pod的创建过程及副本数量的自动控制:
  • RC里包括完整的Pod定义模板
  • RC通过Label Selector机制实现对Pod副本的自动控制
  • 通过改变RC里的Pod副本数量,可以实现Pod的扩容和缩容功能
  • 通过改变RC里的Pod版本中的镜像版本,可以实现Pod的滚动升级功能

  

不积跬步,无以至千里;不积小流,无以成江海。
原文地址:https://www.cnblogs.com/weidongliu/p/11128163.html