zoukankan      html  css  js  c++  java
  • k8s中ReplicaSet控制器的作用

    ## ReplicaSet(RS)
    
    ​    ReplicaSet的主要作用是**保证一定数量的pod正常运行**,它会持续监听这些Pod的运行状态,一旦Pod发生故障,就会重启或重建。同时它还支持对pod数量的扩缩容和镜像版本的升降级。
    
    ![](assets/image-20200612005334159.png)
    
    ReplicaSet的资源清单文件:
    
    ~~~yaml
    apiVersion: apps/v1 # 版本号
    kind: ReplicaSet # 类型       
    metadata: # 元数据
      name: # rs名称 
      namespace: # 所属命名空间 
      labels: #标签
        controller: rs
    spec: # 详情描述
      replicas: 3 # 副本数量
      selector: # 选择器,通过它指定该控制器管理哪些pod
        matchLabels:      # Labels匹配规则
          app: nginx-pod
        matchExpressions: # Expressions匹配规则
          - {key: app, operator: In, values: [nginx-pod]}
      template: # 模板,当副本数量不足时,会根据下面的模板创建pod副本
        metadata:
          labels:
            app: nginx-pod
        spec:
          containers:
          - name: nginx
            image: nginx:1.17.1
            ports:
            - containerPort: 80
    ~~~
    
    在这里面,需要新了解的配置项就是`spec`下面几个选项:
    
    - replicas:指定副本数量,其实就是当前rs创建出来的pod的数量,默认为1
    
    - selector:选择器,它的作用是建立pod控制器和pod之间的关联关系,采用的Label Selector机制
    
      ​               在pod模板上定义label,在控制器上定义选择器,就可以表明当前控制器能管理哪些pod了
    
    - template:模板,就是当前控制器创建pod所使用的模板板,里面其实就是前一章学过的pod的定义
    
    **创建ReplicaSet**
    
    创建pc-replicaset.yaml文件,内容如下:
    
    ~~~yaml
    apiVersion: apps/v1
    kind: ReplicaSet   
    metadata:
      name: pc-replicaset
      namespace: dev
    spec:
      replicas: 3
      selector: 
        matchLabels:
          app: nginx-pod
      template:
        metadata:
          labels:
            app: nginx-pod
        spec:
          containers:
          - name: nginx
            image: nginx:1.17.1
    ~~~

  • 相关阅读:
    pycharm连接远程服务器(拉取版本)
    Xftp5中文文件乱码
    pycharm连接远程服务器
    Centos中使用virtualenvwrapper
    VNC连接centos图形化界面
    PIP设置镜像源
    Java实现地理坐标判断
    词袋模型和句子相似度
    词向量入门
    《深入理解 Java 虚拟机》读书笔记:类文件结构
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/15719605.html
Copyright © 2011-2022 走看看