Replica Set(RS)

Replication Controller 由于与 Kubernetes 代码中的模块 Replication Controller 同名,同时 “Replication Controller”无法准确表达它的本意,所以在 Kubernetes 1.2 中,升级为另外一个新概念——Replica Set,官方解释其为“下一代的 RC”。

Replica Set 与 RC 当前的唯一区别是,Replica Set 支持基于集合的 Label selector(Set-based selector),而 RC 只支持基于等式的 Label Selector(equality-based selector)

kubectl 命令行工具适用于 RC 的绝大部分命令同样适用于 Replica Set当前很少单独使用 Replica Set,它主要被 Deployment 这个更高层的资源对象所使用,从而形成一整套 Pod 创建、删除、更新的编排机制。在使用 Deployment 时,无须关心它是如何创建和维护 Replica Set 的,这一切都是自动发生的。

示例
apiVersion: v1
kind: ReplicationSet
metadata:
  name: fronted
  labels:
    app: guestbook
    tier: frontend
spec:
  replicas: 2
  selector:
    matchLabels:
      tier: frontend
    matchExpressions:
      - {key: tier, operator: In, values: {frontend}}
  template:
    metadata:
      labels:
        app: guestbook
        tier: frontend
    spec:
      containers:
        - name: php-redis
          image: gb-frontend:v3
          resources:
            cpu: 100m
            memory: 100Mi
          env:
          - name: GET_HOSTS_FROM
            value: dns
          ports:
            - containerPort: 80

最后更新于