Kubernetes-ReplicaSet

作者: Hughman | 来源:发表于2020-01-10 17:31 被阅读0次

    1 介绍

    1.1 概念

      ReplicaSet是新一代的ReplicationController,可以完全代替RC,但是一般不会直接创建RS,而是通过创建Deployment这种资源,从而自动创建RS。

    1.2 RS与RC比较

    1)RC的标签选择器只允许包含某个标签的匹配pod,但RS的选择器还允许匹配缺少某个标签的pod,或包含特定标签名的pod。
    2)RS相比较于RC更具表达力的标签选择器,可以通过matchExpressions属性来重写选择器。

    selector:
      matchExpressions:
        - key: app
          operator: In
          values:
            - app_name
    

    表达式中包含一个key、operator(运算符)、一个values的列表(取决于运算符)
    运算符:

    • In:Label的值必须与其中一个指定的values匹配;
    • NotIn:Label的值与任何指定的values不匹配;
    • Exists:pod必须包含一个指定名称的标签,此时不需要指定values字段;
    • DoesNotExist:pod不得包含有指定名称的标签,values属性不得指定。

    2 RS的使用

    2.1 创建RS

    写好yaml文件:

    • 版本号:apiVersion为apps/v1beta2
    • RS定义:kind配置为ReplicaSet;
    • RS名字:metadata.name
    • pod实例数:spec.replicas
    • pod选择器:spec.selector中可以使用matchLabels选择器
    • pod模板:spec.template
      注意:RS不是v1 API的一部分。
      RS的yaml范例

    by k8s in action

    创建RS命令
    $ kubectl create -f xxx.yaml

    2.2 查看RS

    查看RS命令
    $ kubectl get rs
    其中,rs是replicaset的简写。
    查看RS详细信息
    $ kubectl describe rs rs_name

    2.3 删除RS

    删除RS命令
    $ kubectl delete rs rs_name

    相关文章

      网友评论

        本文标题:Kubernetes-ReplicaSet

        本文链接:https://www.haomeiwen.com/subject/npzpactx.html