騰訊雲容器服務的滾動升級使用簡介

版權聲明:本文由騰訊雲容器服務  原創文章,轉載請註明出處: 
文章原文連接:https://www.qcloud.com/community/article/216046001482723263shell

來源:騰雲閣 https://www.qcloud.com/communityubuntu

 

做者介紹:於廣遊 騰訊雲後臺開發工程師 歡迎加入騰訊雲容器服務QQ交流羣434653499 Alt textcurl

1.什麼是滾動升級

滾動升級是一種多副本服務的升級方式,其特色是可以保證升級過程當中服務不中斷,對外界無感知。其原理大體爲循環的執行如下步奏直至全部容器都被更新url

  • 啓動一個新的容器
  • 將LB綁定到新的容器上
  • 將老的容器從LB上解綁
  • 中止老的容器

2.使用說明

C:\Users\garyyu\AppData\Local\Temp\{9C7D4A17-0CDA-4C9F-9AB7-86B42A0C3B1B}.png

咱們有如下兩個鏡像 C:\Users\garyyu\AppData\Local\Temp\{9C7D4A17-0CDA-4C9F-9AB7-86B42A0C3B1B}.pngspa

鏡像hello_bye:hello啓動的容器,對其80端口,'/'路徑執行Get操做會返回: {"message":"Hello"}code

root@VM-0-86-ubuntu:/data# curl -k 'http://xxx.xxx.xxx.xxx'
{"message":"Hello"}

鏡像hello_bye:bye啓動的容器,對其80端口,'/'路徑執行Get操做會返回: {"message":"Bye"}blog

root@VM-0-86-ubuntu:/data# curl -k 'http://xxx.xxx.xxx.xxx'
{"message":"Bye"}

首先,咱們使用hello_bye:hello鏡像建立一個帶有外網LB的服務,名爲hellobye,點擊「更新服務」按鈕開發

C:\Users\garyyu\AppData\Local\Temp\{AD2949A2-C988-4957-BA7F-5679D6A3A794}.png

在彈出的更新服務頁面中修改鏡像版本爲Bye C:\Users\garyyu\AppData\Local\Temp\{46ED776E-C9B7-4DB5-85F7-5C8180BE0BF3}.pngget

點擊開始更新前,在雲主機上執行如下命令,其中xxx部分爲hellobye服務外網LB的IP,並點擊開始更新按鈕。it

#!/bin/sh
while true
do
curl -k 'http://xxx.xxx.xxx.xxx'
done

回到容器服務控制檯,服務列表頁,會看到hellobye狀態變爲更新中,此時點擊查看進度按鈕,在彈窗中可查看服務更新進度 C:\Users\garyyu\AppData\Local\Temp\{F47BA280-DD4A-48ED-9D50-21DD7BAE356A}.png

隨着更新進度的變化,會看到剛纔執行shell腳本的雲主機上,返回值中{"message":"Bye"}的佔比愈來愈大最終所有變爲{"message":"Bye"}

{"message":"Hello"}
{"message":"Hello"}
{"message":"Hello"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Hello"}
{"message":"Hello"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Hello"}
{"message":"Hello"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}

3.暫停更新

在更新過程當中,您隨時能夠點擊暫停更新按鈕來暫停滾動升級,此時服務狀態會變爲「暫停更新」,您也能夠點擊繼續更新按鈕來繼續服務的更新 C:\Users\garyyu\AppData\Local\Temp\{F3C73900-EF3A-41F9-8D06-2564D50B4F4E}.png

C:\Users\garyyu\AppData\Local\Temp\{2293B70F-1C08-4316-8E7D-C9644CEE6358}.png

4.回滾更新

在更新過程當中,您也能夠隨時點擊「回滾」按鈕來終止本次更新並將已升級的容器恢復到原始版本 C:\Users\garyyu\AppData\Local\Temp\{5B9CF4B5-E51C-47F3-B0AE-A39AF7A90AA3}.pngC:\Users\garyyu\AppData\Local\Temp\{BC3241E6-922F-48C4-B4D3-047D02A39ACB}.png

相關文章
相關標籤/搜索