k8s基本使用入門-了解ReplicaSet

現(xiàn)在,再去了解一個新的定義方式。
了解之前,先將剛剛的 pod 刪除

[root@kube-node01 yaml]$ kubectl delete -f rc_nginx.yml
replicationcontroller "nginx" deleted

[root@kube-node01 yaml]$ kubectl get pods
NAME          READY     STATUS        RESTARTS   AGE
nginx-99nns   0/1       Terminating   0          6m
nginx-c5nk4   0/1       Terminating   0          49m
nginx-fjnrn   0/1       Terminating   0          6m
nginx-r2zcm   0/1       Terminating   0          49m

[root@kube-node01 yaml]$ kubectl get pods
NAME          READY     STATUS        RESTARTS   AGE
nginx-fjnrn   0/1       Terminating   0          6m

[root@kube-node01 yaml]$ kubectl get pods
No resources found.

可以看到 pod 會慢慢的消失掉,有點淡入淡出的那種感覺哈。

那么新的定義類型叫做ReplicaSet。

其實這個定義方式與上邊介紹的ReplicationController非常像,官網(wǎng)這樣介紹:

ReplicaSet 是下一代復制控制器?,F(xiàn)在 ReplicaSet 和 Replication Controller 之間的唯一區(qū)別是選擇器支持。ReplicaSet 支持標簽用戶指南中描述的新的基于集合的選擇器要求, 而 Replication Controller 僅支持基于等同的選擇器要求。

同樣是定義一個 yaml 文件,如下:

[root@kube-node01 yaml]$ cat rs_nginx.yml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx
  labels:
    tier: frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
  template:
    metadata:
      name: nginx
      labels:
        tier: frontend
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

創(chuàng)建 pod:

[root@kube-node01 yaml]$ kubectl create -f rs_nginx.yml
replicaset.apps "nginx" created

[root@kube-node01 yaml]$ kubectl get pods
NAME          READY     STATUS              RESTARTS   AGE
nginx-4vp95   1/1       Running             0          8s
nginx-9xxp6   0/1       ContainerCreating   0          8s
nginx-f8vfg   1/1       Running             0          8s

[root@kube-node01 yaml]$ kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     3         3         1         4s

關于擴展等,與上邊的一樣

[root@kube-node01 yaml]$ kubectl scale rs nginx --replicas=2
replicaset.extensions "nginx" scaled

[root@kube-node01 yaml]$ kubectl get pods
NAME          READY     STATUS        RESTARTS   AGE
nginx-4vp95   1/1       Running       0          1m
nginx-9xxp6   0/1       Terminating   0          1m
nginx-f8vfg   1/1       Running       0          1m

[root@kube-node01 yaml]$ kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     2         2         2         1m
 
[root@kube-node01 yaml]$ kubectl scale rs nginx --replicas=5
replicaset.extensions "nginx" scaled

[root@kube-node01 yaml]$ kubectl get pods
NAME          READY     STATUS              RESTARTS   AGE
nginx-4vp95   1/1       Running             0          2m
nginx-bbxpk   0/1       ContainerCreating   0          2s
nginx-cg8ts   0/1       ContainerCreating   0          2s
nginx-f8vfg   1/1       Running             0          2m
nginx-sgvpd   0/1       ContainerCreating   0          2s

[root@kube-node01 yaml]$ kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     5         5         3         2m

[root@kube-node01 yaml]$ kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     5         5         4         2m

[root@master replicas-set]$kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     5         5         5         2m

這個知識點就到這里,可以根據(jù)以上的一些小實踐,理解其工作方式

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容