久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何進行ReplicationController的操作

161次閱讀
沒有評論

共計 4332 個字符,預計需要花費 11 分鐘才能閱讀完成。

本篇文章給大家分享的是有關如何進行 ReplicationController 的操作,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。

我們通過一些例子來演示 ReplicationController 的創建、查看、更新、刪除等操作。

創建

首先我們準備一個名為 replication_controller_simple.yaml 的配置文件,其內容如下所示:

[root@ecs-d8b6 manifests]# cat replication_controller_simple.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
 name: replication-controller-runs-pod
spec:
 replicas: 3
 selector:
 app: nginx
 template:
 metadata:
 labels:
 app: nginx
 spec:
 containers:
 - name: nginx
 image: nginx:1.19.0

該 ReplicationController 配置保證同時有 3 個 Pod 副本在運行。

使用 kubectl create 命令創建資源,如下所示:

[root@ecs-d8b6 manifests]# kubectl create -f replication_controller_simple.yaml 
replicationcontroller/replication-controller-runs-pod created

查看

我們先查看剛剛創建的 ReplicationController 資源:

[root@ecs-d8b6 manifests]# kubectl get replicationcontrollers 
NAME DESIRED CURRENT READY AGE
replication-controller-runs-pod 3 3 3 3m4s

可以看到期望的 Pod 數量(DESIRED)為 3,當前已創建的 Pod 數量(CURRENT)也為 3,并且處于運行狀態的 Pod 數量(READY)同樣是 3,正是我們所期望的狀態。

接著,我們查看實際運行的 Pod:

[root@ecs-d8b6 manifests]# kubectl get pods
NAME READY STATUS RESTARTS AGE
replication-controller-runs-pod-gv4l6 1/1 Running 0 6m11s
replication-controller-runs-pod-pcpmb 1/1 Running 0 6m11s
replication-controller-runs-pod-qxrhz 1/1 Running 0 6m11s

可以看到 Pod 運行也是正常的。

最后,我們查看 ReplicationController 的詳細信息:

[root@ecs-d8b6 manifests]# kubectl describe replicationcontrollers replication-controller-runs-pod 
Name: replication-controller-runs-pod
Namespace: default
Selector: app=nginx
Labels: app=nginx
Annotations:  none 
Replicas: 3 current / 3 desired
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
 Labels: app=nginx
 Containers:
 nginx:
 Image: nginx:1.19.0
 Port:  none 
 Host Port:  none 
 Environment:  none 
 Mounts:  none 
 Volumes:  none 
Events:
 Type Reason Age From Message
 ---- ------ ---- ---- -------
 Normal SuccessfulCreate 10m replication-controller Created pod: replication-controller-runs-pod-gv4l6
 Normal SuccessfulCreate 10m replication-controller Created pod: replication-controller-runs-pod-qxrhz
 Normal SuccessfulCreate 10m replication-controller Created pod: replication-controller-runs-pod-pcpmb

通過最后部分的 Events 信息可知,上面顯示的 Pod 確實是名為 replication-controller-runs-pod 的 ReplicationController 創建的。

更新改變副本個數

我們把上面 replication_controller_simple.yaml 配置文件中的副本數由 3 改為 5,然后使用 kubectl apply 提交更改:

[root@ecs-d8b6 manifests]# kubectl apply -f replication_controller_simple.yaml 
replicationcontroller/replication-controller-runs-pod configured

然后再次查看 Pod,可以發現 Pod 數量也會相應地調整為 5。

[root@ecs-d8b6 manifests]# kubectl get pods
NAME READY STATUS RESTARTS AGE
replication-controller-runs-pod-gv4l6 1/1 Running 0 25m
replication-controller-runs-pod-pcpmb 1/1 Running 0 25m
replication-controller-runs-pod-qtd4b 1/1 Running 0 6s
replication-controller-runs-pod-qxrhz 1/1 Running 0 25m
replication-controller-runs-pod-zz6fj 1/1 Running 0 6s

同樣地,當副本數變小時,多出的 Pod 會被刪除。

模擬 Pod 異常

假定當前名為 replication-controller-runs-pod 的 ReplicationController 維護的 Pod 副本數為 3,我們通過刪除 Pod 的方式模擬 Pod 異常,如下所示:

[root@ecs-d8b6 manifests]# kubectl get pods
NAME READY STATUS RESTARTS AGE
replication-controller-runs-pod-gv4l6 1/1 Running 0 30m
replication-controller-runs-pod-pcpmb 1/1 Running 0 30m
replication-controller-runs-pod-qxrhz 1/1 Running 0 30m
[root@ecs-d8b6 manifests]# 
[root@ecs-d8b6 manifests]# 
[root@ecs-d8b6 manifests]# 
[root@ecs-d8b6 manifests]# kubectl delete pods replication-controller-runs-pod-gv4l6 
pod  replication-controller-runs-pod-gv4l6  deleted
[root@ecs-d8b6 manifests]# kubectl get pods
NAME READY STATUS RESTARTS AGE
replication-controller-runs-pod-4598b 1/1 Running 0 10s
replication-controller-runs-pod-pcpmb 1/1 Running 0 31m
replication-controller-runs-pod-qxrhz 1/1 Running 0 31m

可以看到,當我們刪除了名為 replication-controller-runs-pod-gv4l6 的 Pod 后,新的 Pod 對象 replication-controller-runs-pod-4598b 馬上被創建了出來,從而保證副本數維持不變。

刪除

當刪除 ReplicationController 對象時,由該對象創建的 Pod 默認也會被刪除,如下所示:

[root@ecs-d8b6 manifests]# kubectl delete -f replication_controller_simple.yaml 
replicationcontroller  replication-controller-runs-pod  deleted
[root@ecs-d8b6 manifests]# kubectl get pods
NAME READY STATUS RESTARTS AGE
replication-controller-runs-pod-ktrxr 0/1 Terminating 0 18s
replication-controller-runs-pod-rcdhk 0/1 Terminating 0 18s
replication-controller-runs-pod-sc9mj 0/1 Terminating 0 18s
[root@ecs-d8b6 manifests]# kubectl get pods
No resources found in default namespace.

以上就是如何進行 ReplicationController 的操作,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-17發表,共計4332字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 延川县| 鄯善县| 麻栗坡县| 永川市| 霍城县| 龙胜| 全椒县| 沭阳县| 苗栗县| 厦门市| 惠东县| 双江| 青河县| 洱源县| 磴口县| 高邮市| 伊宁市| 怀远县| 文化| 梁山县| 云南省| 浦县| 米林县| 基隆市| 那曲县| 赤水市| 苍溪县| 安阳市| 隆安县| 岳池县| 淮滨县| 忻州市| 宁化县| 台中县| 汉沽区| 报价| 高清| 青龙| 宣武区| 张家港市| 屏东县|