Kubernetes之ReplicaSet

Kubernetes 中建議使用 ReplicaSet(簡稱為RS )來取代 ReplicationController。ReplicaSet 跟 ReplicationController 沒有本質的不同,只是名字不一樣,

並且 ReplicaSet 支持集合式的 selector(ReplicationController 僅支持等式)

Kubernetes官方強烈建議避免直接使用ReplicaSet,而應該通過Deployment來創建RS和Pod。


Kubernetes之ReplicaSet


[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


分享到:


相關文章: