Kubernetes-ReplicaSet(RS)

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

猜你喜欢

转载自www.cnblogs.com/Andya/p/12434478.html
今日推荐