Kubernetes学习之Replication Set控制器

一、认识Pod
  Pod资源对象是一种集合了一到多个应用容器、存储资源、专用IP及支撑容器运行的其他选项的逻辑组件;Pod代表着Kubernetes的部署单元及原子运行单元,即一个应用程序的单一运行实例,它通常由共享资源且关系紧密的一个或多个容器组成;Kubernetes的网络模型要求其各Pod对象的IP地址位于同一网络平面内(同一个IP网段),各Pod之间可使用其IP地址直接进行通信,无论它们运行于哪个工作节点之上,这些Pod对象都像是运行于同一局域网中的多个主机。
  我们可以将每个Pod对象想象成一个逻辑的主机,它类似于现实世界中的物理主机或VM,运行于同一个Pod对象中的多个进程也类似于物理机或VM上独立运行的进程。不过,Pod对象中的各进程均运行于彼此隔离的容器中,并于各容器间共享两种关键资源:网络存储卷
  网络(Networking):每个Pod对象都会被分配一个集群内专用的IP地址,也称为Pod IP,同一Pod内部的所有容器共享Pod对象的Network和UTS名称空间,其中包括主机名、IP地址和端口等。因此,这些容器间的通信可以基于本地回环接口lo进行,而与Pod外的其他组件的通信则需要使用Service资源对象和ClusterIP及其相应的端口完成。
  存储卷(Volume):用户可以为Pod对象配置一组"存储卷"资源,这些资源可以共享给其内部的所有容器使用,从而完成容器间的数据共享。存储卷还可以确保在容器终止后重启,甚至是被删除后也能确保数据不会丢失,从而保证了生命周期内的Pod对象数据的持久化存储。

在这里插入图片描述

二、控制器
  一个Pod对象代表某个应用程序的一个特定实例,如果需要扩展应用程序,则意味着为此应用程序同时创建多个Pod实例,每个实例均代表应用程序的一个运行"副本"(replica)。这些副本化的Pod对象的创建和管理通常由另一组称之为"控制器"(Controller)的对象实现的,例如,ReplicatSet控制器、Deployment控制器等。
  控制器本身也是一组资源类型的统称,它有着多种实现,其中与工作负载相关的实现如Replication Controller、Deployment、StatefulSet、DaemonSet、和Job等,也可以统称它们为控制器。Deployment就是这类控制器的代表实现,它也是目前最常用的管理无状态应用的Pod控制器。Kubernetes的每个控制器对象都代表着一个控制循环,它通过API Server监视受控对象,并在必要时修改前状态以吻合目标状态
  Pod控制器的定义通常由期望的副本数量、Pod模板和标签选择器(Label Selector)组成。Pod控制器会根据标签控制器对Pod对象的标签进行匹配筛选,所有满足选择条件的Pod对象都将受控于当前控制器并计入其副本总数,并确保此数目能够精确反映期望的副本数。

在这里插入图片描述

三、Replication Set控制器
  Replication Set(简称RS)控制器是Replication Controller(简称RC)控制器的升级版,目前Kubernetes的版本中RC控制器已不再使用;RS已是主流;但是RC和RS的功能都是对Pod的副本数量做管理控制,它们的实际功能基本一致,目前唯一的区别是RC只支持基于等式的Selector(env=dev或app=nginx),但是RS还支持基于集合的Selector(version in(v1,v2)),着对于复杂的运维管理就非常方便了。
  kubelet命令行工具中关于RC的大部分命令同样适用于RS资源对象,不

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值