日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用阿里云容器服务Kubernetes实现蓝绿发布功能

發布時間:2024/4/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用阿里云容器服务Kubernetes实现蓝绿发布功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

在發布應用時,經常需要先上線一個新版本,用較小的流量去測試一下該新版本的可用性。但是Kubernetes的ingress resource 并沒有實現流量控制與切分的功能,導致針對同一個域名下的路徑,只能有一個service來進行服務。這樣對于灰度發布十分不利,下面我們就來介紹一下阿里云容器服務的藍綠發布功能,輕松實現流量切分。

前置條件

既然需要進行藍綠發布,那么應該已經有一個老服務在正常的對外提供服務中。我們這里以nginx 為例,假定已經有一個nginx deployment 通過NodePort對外暴露端口,并且有一個ingress正在對外提供服務。我們使用的模板如下:

apiVersion: extensions/v1beta1 kind: Deployment metadata:labels:run: old-nginxname: old-nginx spec:replicas: 1selector:matchLabels:run: old-nginxtemplate:metadata:labels:run: old-nginxspec:containers:- image: registry.cn-hangzhou.aliyuncs.com/xianlu/old-nginximagePullPolicy: Alwaysname: old-nginxports:- containerPort: 80protocol: TCPrestartPolicy: Always --- apiVersion: v1 kind: Service metadata:labels:run: old-nginxname: old-nginx spec:ports:- port: 80protocol: TCPtargetPort: 80selector:run: old-nginxsessionAffinity: Nonetype: NodePort --- apiVersion: extensions/v1beta1 kind: Ingress metadata:name: echo spec:backend:serviceName: default-http-backendservicePort: 80rules:- host: mini-echo.iohttp:paths:- path: /backend:serviceName: old-nginxservicePort: 80

可以看到已經創建好的ingrsss地址

[root@iZwz91e2au5xvyw5jdpqp7Z manifests]# kubectl get ing NAME HOSTS ADDRESS PORTS AGE echo mini-echo.io 47.106.45.47 80 3m

我們在本機通過curl訪問可以看到如下效果

~ curl -H "Host: mini-echo.io" http://47.106.45.47 old

進行藍綠發布

  • 創建新的deployment與service
apiVersion: extensions/v1beta1 kind: Deployment metadata:labels:run: new-nginxname: new-nginx spec:replicas: 1selector:matchLabels:run: new-nginxtemplate:metadata:labels:run: new-nginxspec:containers:- image: registry.cn-hangzhou.aliyuncs.com/xianlu/new-nginximagePullPolicy: Alwaysname: new-nginxports:- containerPort: 80protocol: TCPrestartPolicy: Always --- apiVersion: v1 kind: Service metadata:labels:run: new-nginxname: new-nginx spec:ports:- port: 80protocol: TCPtargetPort: 80selector:run: new-nginxsessionAffinity: Nonetype: NodePort

可以看到,唯一的變化就是,所有的old-nginx 都變成了new-nginx。

  • 修改ingress

主要增加兩個地方:

  • 增加annotations ,標簽ingress.aliyun.weight/new-nginx: "50"代表,/后面為新服務的服務名,也就是新的service name。后面的50代表百分比,以%為單位,50代表新服務占領百分之50的流量。此標簽的完整含義為,將流量的百分之50打到新的服務的pod里面。
  • 第二處為指定對應的新的serviceName。這里是和上面老服務并列,即在相同的Path 下,掛兩個不同的service ,分別對應于兩個新老應用。
    • 效果
    ~ curl -H "Host: mini-echo.io" http://47.106.45.47 old~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 old~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 old~ curl -H "Host: mini-echo.io" http://47.106.45.47 new

    可以看到,執行六次請求,分別得到三次新服務,三次老服務的返回,這表明權重設置生效了。

    流量完全切換到新服務


    只需要將新服務的百分比寫到100就可以,再看一下效果。

    ~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new

    可以看到,流量都打到了新服務。

    完成藍綠發布


    只需要將設置權重的annotation 刪除即可,然后將下面對應的serviceName也刪除,這樣就恢復了原本ingress的原貌,同時將原來的老服務改成了新的服務。下面再來看一下效果:

    ~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new~ curl -H "Host: mini-echo.io" http://47.106.45.47 new

    可以看到,新的服務已經上線,這就完成了整個藍綠發布的完整生命周期。

    總結

    以上是生活随笔為你收集整理的使用阿里云容器服务Kubernetes实现蓝绿发布功能的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成人免费网站在线观看 | 日韩欧美在线不卡 | 制服.丝袜.亚洲.中文.综合懂色 | 男人天堂v| 国产视频手机在线观看 | 久久久久亚洲av成人人电影 | 亚洲91av | 国产精品极品白嫩在线 | 二男一女一级一片 | 欧美精品第二页 | 国产免费aa| 三级大片在线观看 | 免费成年人视频在线观看 | 免费看黄在线网站 | 国产aaa大片 | 蜜臀av色欲a片无码精品一区 | 欧美日韩免费在线 | 亚洲天堂777 | 4388成人网 | 91日韩中文字幕 | 新版红楼梦在线高清免费观看 | 国产高清无遮挡 | 综合精品| 黄色大片网站在线观看 | 精品一区二区在线播放 | av网站在线看 | 免费麻豆av | 小视频在线观看 | 少妇欧美激情一区二区三区 | 动漫3d精品一区二区三区乱码 | 91在线精品秘密一区二区 | 欧美国产精品一区二区三区 | 久久99精品国产91久久来源 | 亚洲精品国产一区二 | 亚洲激情视频在线播放 | www.好了av.com | 一级黄色片一级黄色片 | 日本黄页网站免费大全 | 欧美男女性生活视频 | 手机看片1024国产 | 在线视频 一区二区 | avtt在线播放 | 精品在线视频一区二区三区 | 欧美h在线观看 | 影音先锋在线国产 | 污污视频免费看 | h视频免费在线观看 | 真人毛片视频 | 97视频久久久 | 国产精品老熟女视频一区二区 | 好吊妞精品视频 | 亚洲av无码一区二区三区在线观看 | 成年人在线视频免费观看 | 国产老头老太作爱视频 | 久九九 | 亚洲免费播放 | 毛片毛片毛片毛片 | 国产aⅴ | 张柏芝亚洲一区二区三区 | 天天摸天天看 | 超碰免费成人 | 亚洲三级精品 | 一级片黄色 | www免费网站在线观看 | 在线免费看毛片 | 亚洲国产亚洲 | 成人片在线播放 | av国产网站 | 金鱼妻日剧免费观看完整版全集 | 综合色在线观看 | 第四色在线视频 | 亚洲天堂成人网 | 中文字幕精品久久久 | 无码h黄肉3d动漫在线观看 | 尤物在线精品 | 欧美性猛交xxx乱久交 | 欧美体内谢she精2性欧美 | 外国毛片 | 亚洲欧洲天堂 | 黑丝美女啪啪 | 韩国日本在线 | 女优一区二区三区 | 天天舔天天操 | 中文字幕第9页 | 欧美成人二区 | 欧美国产视频 | 91网站观看 | 成人动漫免费在线观看 | av黄色网址| 天堂网在线资源 | 伊人论坛| 久久免费视频播放 | 亚洲欧美日韩国产 | 狠狠干青青草 | 国内精品视频一区二区三区 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 三年大全国语中文版免费播放 | 中国在线观看免费高清视频播放 | 欧美在线不卡视频 |