UP | HOME

ReplicaSet

ReplicationController 用来 确保 容器应用的副本数 始终保持用户定义的副本数

在新版本的 Kubernetes 中建议使用 ReplicaSet 来取代 ReplicationController

ReplicaSet 跟 ReplicationController 没有本质的不同,只是名字不一样,并且 ReplicaSet 支持集合式的 selector

虽然 ReplicaSet 可以独立使用,但一般还是建议使用 Deployment自动管理 ReplicaSet ,这样就无需担心跟其他机制的不兼容问题(比如 ReplicaSet 不支持 rolling-update 但 Deployment 支持)

apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
  name: frontend
  # these labels can be applied automatically
  # from the labels in the pod template if not set
  # labels:
    # app: guestbook
    # tier: frontend
spec:
  # this replicas value is default
  # modify it according to your case
  replicas: 3
  # selector can be applied automatically
  # from the labels in the pod template if not set,
  # but we are specifying the selector here to
  # demonstrate its usage.
  selector:
    matchLabels:
      tier: frontend
    matchExpressions:
      - {key: tier, operator: In, values: [frontend]}
  template:
    metadata:
      labels:
	app: guestbook
	tier: frontend
    spec:
      containers:
      - name: php-redis
	image: gcr.io/google_samples/gb-frontend:v3
	resources:
	  requests:
	    cpu: 100m
	    memory: 100Mi
	env:
	- name: GET_HOSTS_FROM
	  value: dns
	  # If your cluster config does not include a dns service, then to
	  # instead access environment variables to find service host
	  # info, comment out the 'value: dns' line above, and uncomment the
	  # line below.
	  # value: env
	ports:
	- containerPort: 80

Next:Job

Previous:DaemonSet

Home:Controller