本文主要用於演示如何在阿里雲容器服務Kubernetes集羣中部署一個應用,並將該應用通過Ingress對外暴露提供服務訪問,以及如何通過分批發布和灰度發佈來更新升級應用版本。
部署應用
1、創建一個分批發布的應用
2、設置應用名稱,這裏取名爲product-page
3、填寫應用基本信息
鏡像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage:v1
4、點擊更新後,返回發佈列表
這裏我們看到已經成功部署了一個分批發布的應用
5、查看應用詳情
這裏可以看到4個Pod已經成功運行中
暴露服務
這裏我們需要將product-page應用能夠對外提供訪問
1、創建一個路由(Ingress)
2、填寫路由基本信息
這裏我們填寫域名前綴爲product
3、查看路由列表
這裏可以看到該應用的完整訪問域名
4、通過域名訪問應用/productpage頁面
分批發布
這裏我們通過分批發布的方式來更新應用到新版本v2
1、通過分批發布來更新應用
2、設置應用版本爲v2
3、當前我們看到正處於第1批次的更新中
4、進入詳情頁面
稍等片刻後,我們在“未開始”列表可以看到有兩個Pod依然是老的版本,在“已完成”列表中已有兩個Pod更新爲新的版本
5、此時再訪問應用域名,我們可以看到請求已轉發到新版本的應用中
6、假若發現新版本有問題,我們可以快速回滾應用到老版本
7、待回滾完成後,我們可以看到4個Pod都處於v1版本中
8、此時我們再次訪問應用域名,看到請求都回到了老版本應用中
9、若第一批發布後的新版本應用確認沒問題後,則可以繼續發佈第二批,直到最終發佈完成
灰度發佈
這裏我們通過灰度發佈的方式來更新應用到新版本v2
1、部署新版本應用v2
2、設置新版本應用基本信息
這裏取名爲product-page-v2,同樣設置副本數量爲4
3、使用新版本鏡像v2
新版本鏡像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage:v2
4、創建新版本對應的服務
5、點擊創建後,我們看到新版本應用部署完成
6、我們更新路由配置來設置引流規則
7、這裏我們設置將請求參數中帶有v=2的請求轉發到新版本服務中
8、此時訪問應用域名
1)添加請求參數v=2時
2)不添加請求參數v=2時
參考文章
分批發布:https://yq.aliyun.com/articles/622898
灰度發佈:https://yq.aliyun.com/articles/594019