對於新專案或上線不久的專案,一般都更新比較頻繁,而平台的頻繁更新會給使用者帶來不好的體驗,所以需要做到平滑公升級、滾動發布、灰度發布等。我之前做的平滑公升級是通過修改nginx upstream去實現的,在**發布前把後端伺服器從nginx upstream注釋掉,更新好後再加回去,不過這種方式實現不了灰度發布,灰度發布還是要把nginx從slb上移除,再通過hosts知道移除的伺服器位址做灰度測試,測試沒問題再加回去,也就是正式上線。
通過api操作阿里雲slb:api概覽
配置nginx,在原來的nginx配置上增加如下配置
server
}
建立nginx-status檔案
mkdir -p /home/admin/status
touch /home/admin/status/nginx-status
編寫指令碼
移除slb指令碼del_slb.sh
#!/bin/bash
rm /home/admin/status/nginx-status
sleep 6
新增slb指令碼add_slb.sh
#!/bin/bash
rm /home/admin/status/nginx-status
sleep 6
灰度發布指令碼test_canary.sh
#!/bin/bash
/del_slb.sh
/發布指令碼
sleep 6
配置jenkins,勾選this project is parameterized,配置引數化發布
配置發布指令碼
編寫jenkins發布指令碼/script/test_canary.sh
#!/bin/bash
#修改slb後端函式,使用方法slb ssh埠 使用者 ip 指令碼
function slb ()
case $option in
web2_canary)
slb 22 $web_user $web2_ip /script/test_canary.sh
;; slb_add_web2)
slb 22 $web_user $web2_ip /script/add_slb.sh
;; slb_del_web2)
slb 22 $web_user $web2_ip /script/del_slb.sh
;; *)
exit
;;esac
配置好後直接在jenkins上就能實現滾動發布和灰度發布了,滾動發布在發布前移除slb,**更新後增加slb,灰度發布是發布前移除slb,**更新後不加回去slb,等灰度測試沒問題再通過jenkins加回去。 阿里雲slb介紹
3 2 阿里雲esc bgb 直接連線在網路 商的主幹道上 3 3 登入雲主機 登入 遠端連線 xshell 遠端連線終端工具 3 4 公升降級配置 3 5 安全組策略 安全組是什麼?安全組就是一條一條的網路埠放行或者拒絕的規則 3.6 vpc vpc 叫做專有網路 隔離 同乙個賬戶下 內網 建立專...
阿里雲負載均衡SLB
slb 簡單來講就是slb系統也是乙個由多台計算機構成的集群。使用者在這個系統中申請和配置了乙個slb的例項對外提供服務,針對該slb例項的訪問請求會通過我們的系統按照使用者設定的規則向後端的多台ecs進行 那麼當我們系統內的某一台計算機出現問題的時候,其他的計算機可以承擔本應由其處理的任務而保證整...
阿里雲SLB配置監聽
1 新增監聽,選擇https,監聽埠443,其他預設,下一步 2 選擇網域名稱對應的ssl證書,不開啟雙向認證,下一步 3 選擇後端伺服器組,沒有的話可以新建乙個,把要新增的伺服器加到伺服器組,下一步 4 健康檢測預設值,下一步,提交驗證即可 1 新增監聽,監聽埠80,開啟高階配置,開啟監聽 選擇監...