<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 一、概述 基于Istio,我們可以實現部署新版本服務時,但現有流量還是請求到現有版本服務 * 金絲雀部署:大部分用戶請求到舊服務,部分白名單用戶請求到新版本服務,白名單驗收通過后,其他非白名單用戶慢慢路由到新版本服務,開始灰度,最后全量 * 藍綠部署:用戶被分為藍、綠版本,分別對應服務的新老版本,基于百分比來劃分用戶進行灰度放量,比如一開始20%用戶去到新版本服務,如果有問題,則調整百分比 本次演示假定現有的服務是v1版本,新服務為v2版本 先發布v2版本 進行白名單驗收功能 開始調整流量到v2版本服務 # 二、整體思路 總體思路就是把Deployment分為v1、v2版本,VirtualService里通過調整權重做分流 配置文件見`kubernetes/services/overlays/prod` ![](https://img.kancloud.cn/d3/ae/d3aecc24fbeb6e99eb7407d9ea8a72be_1144x364.png) 運行:`./kubernetes/scripts/deploy-prod.bash`,自動部署v1版本的服務, 打開kiali的dashboard,可以看到服務的調用關系: ![](https://img.kancloud.cn/42/4a/424a4188f6ded6bc3d60a4df843fe334_2616x1456.png) # 三、同時部署v1、v2版本服務 下面演示放開注釋的代碼,同時部署v1和v2版本服務 `kubernetes/scripts/deploy-prod.bash`腳本默認不部署v2版本服務,需要部署則把注釋的腳步放開: ![](https://img.kancloud.cn/ce/ae/ceae2b7b2a0a1b65cc60502c489f14be_2130x904.png) 放開后運行`./kubernetes/scripts/deploy-prod.bash`,運行成功后,同時部署了v1、v2版本的服務 ![](https://img.kancloud.cn/5c/f8/5cf89367a38b14261724975f7205a52e_2574x1426.png) ![](https://img.kancloud.cn/04/b3/04b3cf176b207a8cfdd222fe47a79c1d_2244x1358.png) 其中redis、MySQL服務是共用的,只有一個版本 # 四、灰度測試 以user-service為例,默認v1權重100,v2為0,即流量全部去到v1版本,具體見`kubernetes/services/overlays/prod/istio/user-service-routing-virtual-service.yml` 1. 修改配置 現在調整權重為各50,實際情況應該從小比例開始灰度,如1 ![](https://img.kancloud.cn/eb/a7/eba7ee61547bd393818bf628d6fdb61a_1886x1052.png) 2. 應用配置生效 可以使用`kubectl apply`或者`kubectl patch`命令讓配置生效 本次演示patch命令,具體命令如下: ``` kubectl patch virtualservice user-service-vs --type=json -p='[ {"op": "add", "path": "/spec/http/0/route/0/weight", "value": 50}, {"op": "add", "path": "/spec/http/0/route/1/weight", "value": 50} ]' ``` ![](https://img.kancloud.cn/95/d4/95d44c2b88975431cccc9de6d260e8f0_2106x236.png) 3. 打開kiali dashboard 選擇Traffic Distribution,可以看到50%的流量去到了v1版本、另外50%流量去到v2版本 ![](https://img.kancloud.cn/fa/0c/fa0c31b7eb7f7d6d847bf237ea8a40f7_1770x1258.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看