kubernetes-概念

Pod

Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。
Pod中的容器共享存储和网络。
每个Pod都有一个特殊的被称为“根容器”的Pause容器,负责整个pod的健康检查,负责把pod中其他容器关联起来

kubernetes-概念

为什么Kubernetes会设计出一个全新的Pod概念并且Pod有这样特殊的组成结构?

  • 在一组容器作为一个单元的情况下,我们难以对“整体”简单地进行判断及有效地进行行动。比如,一个容器死亡了,此时算是整体死亡么?引入业务无关并且不易死亡的Pause容器作为Pod的根容器,以它的状态代表整体容器组的状态,就简单、巧妙地解决了这个难题。
  • Pod里的多个业务容器共享Pause容器的IP,共享Pause容器挂接的Volume,这样既简化了密切关联的业务容器之间的通信问题,也很好地解决了它们之间的文件共享问题。

ReplicaSet(简称为RS,在pod上层)

副本机,管理pod副本数量,监控pod健康状态,保证预期数量的pod正常运行,实现滚动部署

Deployment (在RS 上层)

Deployment为 Pods 和 ReplicaSets 提供声明式的更新能力, Deployment会自动创建和销毁RS,实现滚动部署

Label

一个Label是一个key=value的键值对,其中key与vaue由用户自己指定。Label可以附加到各种资源对象上,例如Node、Pod、Service、RC等。

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

Service

Kubernetes里的每个Service其实就是我们经常提起的微服务架构中的一个“微服务”,之前Pod、RS等资源对象其实都是为这节所说的“服务”------Kubernetes Service作“嫁衣”的。

Service定义了一个服务的访问入口地址(ClusterIP),前端的应用(Client)通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,Service与其后端Pod副本集群之间则是通过Label Selector来实现“无缝对接”的。而RS的作用实际上是保证Service的服务能力和服务质量始终处于预期的标准。

kubernetes-概念

上一篇:fork代码指定版本到自己的Gitlab中


下一篇:二叉树--后序遍历