本篇文章給大家分享的是有關(guān)如何進(jìn)行ReplicationController的操作,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)主營(yíng)洪洞網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開(kāi)發(fā),洪洞h5微信小程序開(kāi)發(fā)搭建,洪洞網(wǎng)站營(yíng)銷(xiāo)推廣歡迎洪洞等地區(qū)企業(yè)咨詢
我們通過(guò)一些例子來(lái)演示ReplicationController的創(chuàng)建、查看、更新、刪除等操作。
首先我們準(zhǔn)備一個(gè)名為replication_controller_simple.yaml
的配置文件,其內(nèi)容如下所示:
[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
配置保證同時(shí)有3個(gè)Pod副本在運(yùn)行。
使用kubectl create
命令創(chuàng)建資源,如下所示:
[root@ecs-d8b6 manifests]# kubectl create -f replication_controller_simple.yaml replicationcontroller/replication-controller-runs-pod created
我們先查看剛剛創(chuàng)建的ReplicationController
資源:
[root@ecs-d8b6 manifests]# kubectl get replicationcontrollers NAME DESIRED CURRENT READY AGE replication-controller-runs-pod 3 3 3 3m4s
可以看到期望的Pod數(shù)量(DESIRED)為3,當(dāng)前已創(chuàng)建的Pod數(shù)量(CURRENT)也為3,并且處于運(yùn)行狀態(tài)的Pod數(shù)量(READY)同樣是3,正是我們所期望的狀態(tài)。
接著,我們查看實(shí)際運(yùn)行的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運(yùn)行也是正常的。
最后,我們查看ReplicationController
的詳細(xì)信息:
[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
通過(guò)最后部分的Events
信息可知,上面顯示的Pod確實(shí)是名為replication-controller-runs-pod
的ReplicationController
創(chuàng)建的。
我們把上面replication_controller_simple.yaml
配置文件中的副本數(shù)由3
改為5
,然后使用kubectl apply
提交更改:
[root@ecs-d8b6 manifests]# kubectl apply -f replication_controller_simple.yaml replicationcontroller/replication-controller-runs-pod configured
然后再次查看Pod,可以發(fā)現(xiàn)Pod數(shù)量也會(huì)相應(yīng)地調(diào)整為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
同樣地,當(dāng)副本數(shù)變小時(shí),多出的Pod會(huì)被刪除。
假定當(dāng)前名為replication-controller-runs-pod
的ReplicationController
維護(hù)的Pod副本數(shù)為3,我們通過(guò)刪除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
可以看到,當(dāng)我們刪除了名為replication-controller-runs-pod-gv4l6
的Pod后,新的Pod對(duì)象replication-controller-runs-pod-4598b
馬上被創(chuàng)建了出來(lái),從而保證副本數(shù)維持不變。
當(dāng)刪除ReplicationController
對(duì)象時(shí),由該對(duì)象創(chuàng)建的Pod默認(rèn)也會(huì)被刪除,如下所示:
[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.
以上就是如何進(jìn)行ReplicationController的操作,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)標(biāo)題:如何進(jìn)行ReplicationController的操作
網(wǎng)頁(yè)路徑:http://chinadenli.net/article4/jiijie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、定制開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)