一、Replicaset控制器概述
RS是kubernetes中的副本控制器,全称Replicaset,主要作用是控制由其管理的pod,使pod的副本数量始终维持在预设的个数。保证一定数量的pod能够在集群中正常运行,rs会持续监听pod的运行状态,在pod发生故障时会自动重启pod,pod不足时,运行新的副本
kubernetes官方不推荐直接使用,而是用Deployment取而代之,他是比rs更为高级的控制器,它可以管理rs并提供有用的特性,最重要的deployment支持声明式更新,好处就是不会丢失历史变更。所以deployment不会直接管理pod对象,而是由deployment管理replicaset,再由replicaset负责管理pod对象
1.2、Replicaset工作原理
Replicaset核心是代用户创建指定副本,并确保pod副本一直处于满足用户期望的数量,起到多退少补的作用,并且还具有自动扩缩容机制。
Replicaset控制器主要由三部分组成:
1、用户期望的副本数:用来指定此控制器管控的pod副本数量
2、标签选择器:指定哪些pod是自身管理的,如果通过标签选择器选到的pod副本数量少于用户指定数量,就要用到下面组件:
3、pod资源模板:如果集群中现存的pod数量不够用户定义的期望数量,控制器会新建pod
1.3Deployment概述
Deployment是kubernetes常用控制器,为Reployment和pod的创建提供声明式定义,在Deployment中描述资源对象的期望状态,Deployemt会按照一定速率把实际状态改为期望状态,定义一个Deployment控制器会创建一个Repliaset控制器,通过Replicaset在创建pod。
使用Deployment而不是直接使用Reployment,是因为Deployment拥有好的特性,如滚动升级和回滚等。
声明式定义可以直接修改资源清单yaml文件,通过kubecat apply -f name.yaml命令就可以更改资源状态。
Deployment控制器是建立在rs之上的,可以管理多个rs,每次更新镜像版本,都会生产新的rs,把旧的rs替换,虽说rs同时存在,但只有一个运行。
标签:控制器,副本,Replicaset,rs,Deployment,pod,K8s From: https://www.cnblogs.com/wxfboke/p/16828135.html