9.2.k8s的控制器资源(rs控制器replicasets)

目录

一、replicaset副本控制器

二、rs控制器资源的管理

1.基于标签-创建rs资源

2.基于标签表达式创建rs资源

三、rs资源的升级和回滚


一、replicaset副本控制器

replicaset副本控制器,简称:rs控制器;

  1. 用法:与rc控制器"几乎"相同;
  2. 能力:可以指定pod的副本始终存活,相比于rc控制器;支持标签匹配,也支持标签表达式
  3. 注意:不论是rc还是rs资源,都是通过"标签"进行匹配pod的,如果有同样的标签,则算作一个副本;

二、rs控制器资源的管理

1.基于标签-创建rs资源

bash 复制代码
[root@k8s1 rs]# cat rs.yaml 
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: rs01
spec: 
  #控制pod副本的数量(k8s系统集群中,匹配到标签的数量)
  replicas: 2
  #选择需要创建副本的pod的标签
  selector:
    #声明基于标签匹配pod(这里就是与rc控制器的区别,rc不需要这个资源)
    matchLabels:
      k8s: oslee
  #pod模板,就是编写pod资源
  template:
    metadata:
      name: pod-rs
      labels:
        k8s: oslee
    spec:
      containers:
      - name: c1
        image: harbor.oslee.com/oslee-private/my-nginx:v2
        ports:
        - containerPort: 80
        command: ["nginx","-g","daemon off;"]

[root@k8s1 rs]# kubectl apply -f rs.yaml 
replicaset.apps/rs01 created

2.基于标签表达式创建rs资源

bash 复制代码
[root@k8s1 rs]# cat rs.yaml 
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: rs01
spec: 
  #控制pod副本的数量(k8s系统集群中,匹配到标签的数量)
  replicas: 9
  #选择需要创建副本的pod的标签
  selector:
    #1,声明基于标签匹配pod(这里就是与rc控制器的区别,rc不需要这个资源)
    #matchLabels:
    #2,基于标签表达式匹配pod
    matchExpressions:
    #指定标签的key值(:左边的)
    - key: k8s
      #指定key和value的关系,4个值可以选择
      #第一个In:只要
      #第二个Notin:只要不..
      #第三个值Exists:只要key匹配成功就行,value可以使任意值;
      #第四个值DoesNotExist:只要不存在指定的key,就算匹配成功;
      operator: In
      #指定value的列表
      values:
      - oslee
      - lee

  #pod模板,就是编写pod资源
  template:
    metadata:
      name: pod-rs
      labels:
        k8s: lee
    spec:
      containers:
      - name: c1
        image: harbor.oslee.com/oslee-private/my-nginx:v1
        ports:
        - containerPort: 80
        command: ["nginx","-g","daemon off;"]

[root@k8s1 rs]# kubectl apply -f rs.yaml 
replicaset.apps/rs01 created

三、rs资源的升级和回滚

  1. 方式与rc升级差不多;
  2. 可以全部删除由rs拉起新的pod,也可以一个一个pod删除,就等于逐渐的一个一个pod进行升级和回滚,也叫金丝雀发布。
  3. 在rs资源中,我们先不细讲,等到deployments资源时,会详细讲这个发布机制;

==============================至此,已成艺术===============================

相关推荐
运维螺丝钉12 小时前
docker安装应用
运维·docker·容器
optimistic_chen12 小时前
【Docker入门】cgroups 资源控制
linux·运维·ubuntu·docker·容器·cgroup
芥子沫13 小时前
书签管理工具使用:Readeck-Docker部署和使用技巧
运维·docker·容器·书签管理
ba_pi13 小时前
每天写点什么2026-01-19-docker如何使用GPU
运维·docker·容器
Gold Steps.13 小时前
K8S基于 Argo Rollouts 的高级版本发布实践
云原生·容器·kubernetes
七七powerful14 小时前
docker 部署dirsearch并进行目录遍历扫描
运维·docker·容器
王九思14 小时前
Docker访问权限问题
docker·云原生·容器
孤岛悬城14 小时前
61 K8s之Pod控制器与配置资源管理
云原生·容器·kubernetes
噎住佩奇14 小时前
kubeadm方式部署单节点k8s
云原生·容器·kubernetes
十月南城15 小时前
Kubernetes入门地图——核心对象、网络与存储的抽象关系与心智模型
网络·容器·kubernetes