Kubernetes 中建議使用 ReplicaSet(簡稱為RS )來取代 ReplicationController。ReplicaSet 跟 ReplicationController 沒有本質的不同,只是名字不一樣,
並且 ReplicaSet 支持集合式的 selector(ReplicationController 僅支持等式)
Kubernetes官方強烈建議避免直接使用ReplicaSet,而應該通過Deployment來創建RS和Pod。
[root@kbs1 yml]# cat jianrs.yml
apiVersion: apps/v1beta2
kind: ReplicaSet
metadata:
name: jian-mariadb
spec:
replicas: 2
selector:
matchLabels:
app: jian-mariadb
template:
metadata:
labels:
app: jian-mariadb
spec:
containers:
- name: mysql-slave-image
image: mysql_slave
imagePullPolicy: Never
ports:
- containerPort: 3306
ReplicaSet是新一代的ReplicationController
ReplicaSet的pod標籤選擇器的表達能力更強
例如ReplicaSet能同時匹配兩種標籤,env=dev和env=pro,ReplicationController不行
操作於Replicationcontroller相同
[root@kbs1 yml]# kubectl create -f jianrs.yml
replicaset.apps/jian-mariadb created
[root@kbs1 yml]# kubectl get rs
NAME DESIRED CURRENT READY AGE
jian-mariadb 2 2 2 36s
[root@kbs1 yml]# kubectl get pods
NAME READY STATUS RESTARTS AGE
jian-mariadb-ck9ff 1/1 Running 0 40s
jian-mariadb-vs4sh 1/1 Running 0 40s
[root@kbs1 yml]# kubectl edit rs jian-mariadb
Edit cancelled, no changes made.
[root@kbs1 yml]# kubectl scale rs jian-mariadb --replicas=3
replicaset.extensions/jian-mariadb scaled
[root@kbs1 yml]# kubectl get pods
NAME READY STATUS RESTARTS AGE
jian-mariadb-ck9ff 1/1 Running 0 4m30s
jian-mariadb-fxntn 0/1 ContainerCreating 0 3s
jian-mariadb-vs4sh 1/1 Running 0 4m30s
關鍵字: Running kubectl ReplicationController