kubernetes控制器-創(chuàng)新互聯(lián)

1.基礎(chǔ)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: myapp
      release: dev
  template:
    metadata:
      labels:
        app: myapp
        release: dev
    spec:
      containers:
      - name: myapp-rongqi
        image: ikubernetes/myapp:v1

2.滾動(dòng)升級(jí)

vim de.yaml #修改yaml里的鏡像版本
kubernetes 控制器

成都創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需規(guī)劃網(wǎng)站,是成都網(wǎng)站建設(shè)公司,為衛(wèi)生間隔斷提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開(kāi)發(fā)等。成都網(wǎng)站推廣熱線(xiàn):028-86922220
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  replicas: 5
  selector:
    matchLabels:
      app: myapp
      release: dev
  strategy:
    rollingUpdate:
    #設(shè)置策略為滾動(dòng)更新,還有一個(gè)重建更新,全部一起結(jié)束一起新建 不友好這里就不介紹了
      maxSurge: 1
      #大可超出預(yù)設(shè)值1個(gè)容器
      maxUnavailable: 0
      #大可有0個(gè)容器不可用 ,整體表示更新時(shí)可同時(shí)可有6個(gè)容器,必須保證有5個(gè)容器可用
  template:
    metadata:
      labels:
        app: myapp
        release: dev
    spec:
      containers:
      - name: myapp-rongqi
        image: ikubernetes/myapp:v1

kubectl apply -f de.yaml #用apply更新配置

[root@cs25 ~]# kubectl get pod  -l app=myapp -w
NAME                            READY   STATUS    RESTARTS   AGE
myapp-deploy-576d479bcc-bt7hz   1/1     Running   0          47m
myapp-deploy-576d479bcc-bzqwv   1/1     Running   0          11m
myapp-deploy-576d479bcc-hf6kb   1/1     Running   0          47m
myapp-deploy-576d479bcc-hgb6w   1/1     Running   0          11m
myapp-deploy-576d479bcc-vztqp   1/1     Running   0          11m
myapp-deploy-7f969b64fb-2frdn   0/1     Pending   0          0s
myapp-deploy-576d479bcc-vztqp   1/1     Terminating   0          12m
myapp-deploy-7f969b64fb-6lhjw   0/1     Pending       0          0s
myapp-deploy-7f969b64fb-2frdn   0/1     Pending       0          0s
myapp-deploy-7f969b64fb-6lhjw   0/1     Pending       0          0s
myapp-deploy-7f969b64fb-5ms8f   0/1     Pending       0          0s
myapp-deploy-7f969b64fb-5ms8f   0/1     Pending       0          0s
myapp-deploy-7f969b64fb-6lhjw   0/1     ContainerCreating   0          1s
myapp-deploy-7f969b64fb-2frdn   0/1     ContainerCreating   0          1s
myapp-deploy-7f969b64fb-5ms8f   0/1     ContainerCreating   0          0s
myapp-deploy-7f969b64fb-2frdn   0/1     ContainerCreating   0          35s
myapp-deploy-7f969b64fb-5ms8f   0/1     ContainerCreating   0          35s
myapp-deploy-7f969b64fb-6lhjw   0/1     ContainerCreating   0          36s
myapp-deploy-576d479bcc-vztqp   0/1     Terminating         0          12m
myapp-deploy-576d479bcc-vztqp   0/1     Terminating         0          12m
myapp-deploy-576d479bcc-vztqp   0/1     Terminating         0          12m
myapp-deploy-7f969b64fb-5ms8f   1/1     Running             0          43s
myapp-deploy-7f969b64fb-2frdn   1/1     Running             0          47s
myapp-deploy-7f969b64fb-6lhjw   1/1     Running             0          51s
myapp-deploy-576d479bcc-hgb6w   1/1     Terminating         0          13m
myapp-deploy-576d479bcc-bzqwv   1/1     Terminating         0          13m
myapp-deploy-576d479bcc-bt7hz   1/1     Terminating         0          49m
myapp-deploy-7f969b64fb-gprvk   0/1     Pending             0          0s
myapp-deploy-7f969b64fb-fwdbr   0/1     Pending             0          0s
myapp-deploy-7f969b64fb-fwdbr   0/1     Pending             0          1s
myapp-deploy-7f969b64fb-gprvk   0/1     Pending             0          1s
myapp-deploy-7f969b64fb-fwdbr   0/1     ContainerCreating   0          1s
myapp-deploy-7f969b64fb-gprvk   0/1     ContainerCreating   0          1s
myapp-deploy-576d479bcc-hgb6w   0/1     Terminating         0          13m
myapp-deploy-576d479bcc-bzqwv   0/1     Terminating         0          13m
myapp-deploy-7f969b64fb-fwdbr   0/1     ContainerCreating   0          18s
myapp-deploy-7f969b64fb-gprvk   0/1     ContainerCreating   0          19s
myapp-deploy-576d479bcc-hgb6w   0/1     Terminating         0          13m
myapp-deploy-576d479bcc-bt7hz   0/1     Terminating         0          49m
myapp-deploy-576d479bcc-bzqwv   0/1     Terminating         0          13m
myapp-deploy-7f969b64fb-gprvk   1/1     Running             0          20s
myapp-deploy-7f969b64fb-fwdbr   1/1     Running             0          20s

kubectl get rs -o wide #使用命令查看
kubernetes 控制器
可以看到當(dāng)前鏡像版本已經(jīng)換成了v2 且模板也變了,之前的v1版本還保這方便回滾,yaml文件內(nèi)容修改一次就會(huì)當(dāng)做一次更新,最后一串?dāng)?shù)字就是通過(guò)yaml文件計(jì)算出來(lái)的
注意: deployment的pod模板被更改時(shí)才會(huì)創(chuàng)建新的修訂版本,例如更新模板標(biāo)簽或者容器鏡像可以觸發(fā)滾動(dòng)更新, 其它操作例如擴(kuò)展副本數(shù)將不會(huì)觸發(fā)deployment的更新操作

金絲雀發(fā)布

kubectl set image deploy myapp-deploy myapp-rongqi=ikubernetes/myapp:v3 && kubectl rollout pause deploy myapp-deploy
#kubectl set image deploy "控制器Name" "容器name"=ikubernetes/myapp:v3 && kubectl rollout pause deploy "控制器Name"
#原理就是先升級(jí)一個(gè)容器的版本,執(zhí)行pause 暫停升級(jí)任務(wù),待升級(jí)的那個(gè)容器經(jīng)過(guò)真實(shí)用戶(hù)測(cè)試后無(wú)錯(cuò)后解除暫停
kubernetes 控制器
kubectl get rs -o wide #查看控制器能看到,有1個(gè)v3版,5個(gè)v2版本,出現(xiàn)6個(gè)的原因是我滾動(dòng)策略定義了升級(jí)可允許存在6個(gè)
kubectl rollout resume deploy myapp-deploy
#解除暫停
kubernetes 控制器
#解除暫停后能看到,v2版本在一點(diǎn)點(diǎn)的關(guān)閉向v3版轉(zhuǎn)移,最終v2全部關(guān)閉,v3版5個(gè)容器全部正常上線(xiàn)

回滾

 kubectl rollout history deployment/nginx-deployment
 #查看升級(jí)歷史記錄
 kubectl rollout history deployment/nginx-deployment --revision=2
 #查看某個(gè)升級(jí)歷史記錄的的詳細(xì)信息
kubectl rollout undo deployment/nginx-deployment
#回滾到上一個(gè)版本
kubectl rollout undo deployment/nginx-deployment --to-revision=2
#回滾到指定版本

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

分享文章:kubernetes控制器-創(chuàng)新互聯(lián)
當(dāng)前地址:http://www.muchs.cn/article22/epdcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)關(guān)鍵詞優(yōu)化、虛擬主機(jī)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作