日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Istio資源實現(xiàn)版本流量路由

版本流量路由是指將流量按照比例路由到服務(wù)的不同版本,適用于灰度發(fā)布和A/B測試等場景。本文介紹如何使用Istio資源實現(xiàn)版本流量路由。

前提條件

步驟一:創(chuàng)建網(wǎng)關(guān)規(guī)則

網(wǎng)關(guān)規(guī)則(Gateway)定義了在網(wǎng)格出入口操作的負(fù)載均衡器,用于接收傳入或傳出的HTTP/TCP連接。下文介紹如何創(chuàng)建網(wǎng)關(guān)規(guī)則,并將其綁定到入口網(wǎng)關(guān)。

  1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理

  2. 網(wǎng)格管理頁面,單擊目標(biāo)實例名稱,然后在左側(cè)導(dǎo)航欄,選擇ASM網(wǎng)關(guān) > 網(wǎng)關(guān)規(guī)則,然后單擊創(chuàng)建

  3. 創(chuàng)建頁面,進(jìn)行以下配置,然后單擊創(chuàng)建

    關(guān)于配置項的詳情,請參見網(wǎng)關(guān)規(guī)則(Gateway)CRD說明

    配置項

    說明

    基本信息

    配置命名空間default,網(wǎng)關(guān)規(guī)則的名稱bookinfo-gateway

    作用網(wǎng)關(guān)實例

    配置標(biāo)簽名istio標(biāo)簽值ingressgateway

    對外提供服務(wù)

    配置名稱http端口80協(xié)議HTTP服務(wù)*

    網(wǎng)關(guān)規(guī)則

    以上配置對應(yīng)的網(wǎng)關(guān)規(guī)則YAML如下。

    展開查看網(wǎng)關(guān)規(guī)則YAML

    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
      name: bookinfo-gateway
      namespace: default
    spec:
      selector:
        istio: ingressgateway
      servers:
        - port:
            number: 80
            name: http
            protocol: HTTP
          hosts:
            - '*'
    

步驟二:創(chuàng)建虛擬服務(wù)

虛擬服務(wù)(VirtualService)定義流量路由規(guī)則和請求轉(zhuǎn)發(fā)策略。創(chuàng)建虛擬服務(wù)后,您可以通過/productpage/static/login/logout/api/v1/products路徑訪問Bookinfo應(yīng)用。

  1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理

  2. 網(wǎng)格管理頁面,單擊目標(biāo)實例名稱,然后在左側(cè)導(dǎo)航欄,選擇流量管理中心 > 虛擬服務(wù),然后單擊創(chuàng)建

  3. 創(chuàng)建頁面,進(jìn)行以下配置,然后單擊創(chuàng)建

    關(guān)于配置項的詳情,請參見虛擬服務(wù)(Virtual Service)CRD說明

    配置項

    說明

    基本信息

    命名空間

    本示例選擇default

    名稱

    自定義虛擬服務(wù)的名稱。

    作用范圍

    1. 打開作用于指定網(wǎng)關(guān)規(guī)則開關(guān),單擊請選擇網(wǎng)關(guān)規(guī)則

    2. 請選擇網(wǎng)關(guān)規(guī)則對話框,選中bookinfo-gateway,單擊添加圖標(biāo),然后單擊確定

    3. 關(guān)閉作用于所有Sidecar開關(guān)。

    所屬服務(wù)

    單擊選擇所屬網(wǎng)關(guān)服務(wù)域名,在選擇所屬網(wǎng)關(guān)服務(wù)域名對話框,選中*,單擊添加圖標(biāo),然后單擊確定

    HTTP路由

    路由名稱

    單擊HTTP路由,單擊添加路由,自定義路由名稱

    請求匹配規(guī)則

    重復(fù)單擊添加請求匹配規(guī)則,配置如下五條規(guī)則:

    • 打開匹配請求的URI開關(guān),配置匹配方式精確匹配內(nèi)容/productpage

    • 打開匹配請求的URI開關(guān),配置匹配方式前綴匹配內(nèi)容/static

    • 打開匹配請求的URI開關(guān),配置匹配方式精確匹配內(nèi)容/login

    • 打開匹配請求的URI開關(guān),配置匹配方式精確匹配內(nèi)容/logout

    • 打開匹配請求的URI開關(guān),配置匹配方式前綴匹配內(nèi)容/api/v1/products

    路由目的地

    單擊添加路由目的地,配置服務(wù)名稱productpage端口9080

    創(chuàng)建虛擬服務(wù).png

    以上配置對應(yīng)的虛擬服務(wù)YAML如下。

    展開查看虛擬服務(wù)YAML

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: vs-demo
      namespace: default
    spec:
      hosts:
        - '*'
      http:
        - name: gw-to-productage
          match:
            - uri:
                exact: /productpage
            - uri:
                prefix: /static
            - uri:
                exact: /login
            - uri:
                exact: /logout
            - uri:
                prefix: /api/v1/products
          route:
            - destination:
                host: productpage
                port:
                  number: 9080
      gateways:
        - bookinfo-gateway
    

步驟三:訪問Bookinfo應(yīng)用

  1. 獲取入口網(wǎng)關(guān)地址。

    方式一:通過ASM控制臺

    1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理

    2. 網(wǎng)格管理頁面,單擊目標(biāo)實例名稱,然后在左側(cè)導(dǎo)航欄,選擇ASM網(wǎng)關(guān) > 入口網(wǎng)關(guān)

    3. 入口網(wǎng)關(guān)頁面,獲取服務(wù)地址。

    方式二:通過容器服務(wù)管理控制臺

    1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群

    2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇網(wǎng)絡(luò) > 服務(wù)

    3. 服務(wù)頁面頂部,選擇命名空間istio-system,在External IP列,查看istio-ingressgateway對應(yīng)的80端口的IP地址。

  2. 在瀏覽器地址欄,輸入http://{入口網(wǎng)關(guān)服務(wù)的IP地址}/productpage,持續(xù)刷新頁面10次,訪問Bookinfo應(yīng)用。

    Bookinfo應(yīng)用會訪問reviews服務(wù)的v1、v2、v3版本。您可以看到reviews服務(wù)三個版本出現(xiàn)的比例接近1:1:1。

步驟四:創(chuàng)建版本路由規(guī)則

  1. 創(chuàng)建目標(biāo)規(guī)則,按版本給reviews服務(wù)進(jìn)行分組,分為v1、v2、v3子集。

    1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理

    2. 網(wǎng)格管理頁面,單擊目標(biāo)實例名稱,然后在左側(cè)導(dǎo)航欄,選擇流量管理中心 > 目標(biāo)規(guī)則,然后單擊創(chuàng)建

    3. 創(chuàng)建頁面,進(jìn)行以下配置,然后單擊創(chuàng)建

      關(guān)于配置項的詳情,請參見目標(biāo)規(guī)則(Destination Rule)CRD說明

      配置項

      說明

      基本信息

      配置命名空間default,自定義目標(biāo)規(guī)則的名稱,配置服務(wù)名稱reviews

      服務(wù)版本(子集)

      單擊服務(wù)版本(子集),重復(fù)單擊添加服務(wù)版本(子集),配置如下三個版本。

      • 版本1:配置版本名稱v1,單擊添加標(biāo)簽,配置標(biāo)簽名version標(biāo)簽值v1

      • 版本2:配置版本名稱v2,單擊添加標(biāo)簽,配置標(biāo)簽名version標(biāo)簽值v2

      • 版本3:配置版本名稱v3,單擊添加標(biāo)簽,配置標(biāo)簽名version標(biāo)簽值v3

      目標(biāo)規(guī)則

      以上配置對應(yīng)的目標(biāo)規(guī)則YAML如下。

      展開查看目標(biāo)規(guī)則YAML

      apiVersion: networking.istio.io/v1beta1
      kind: DestinationRule
      metadata:
        name: reviews
        namespace: default
        labels: {}
      spec:
        host: reviews
        subsets:
          - name: v1
            labels:
              version: v1
          - name: v2
            labels:
              version: v2
          - name: v3
            labels:
              version: v3
      
  2. 創(chuàng)建虛擬服務(wù),將10%流量路由到reviews服務(wù)的v1版本,40%流量路由到reviews服務(wù)的v2版本,50%流量路由到reviews服務(wù)的v3版本。

    1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理

    2. 網(wǎng)格管理頁面,單擊目標(biāo)實例名稱,然后在左側(cè)導(dǎo)航欄,選擇流量管理中心 > 虛擬服務(wù),然后單擊創(chuàng)建

    3. 創(chuàng)建頁面,進(jìn)行以下配置,然后單擊創(chuàng)建

      配置項

      說明

      基本信息

      命名空間

      本示例選擇default

      名稱

      自定義虛擬服務(wù)的名稱。

      作用范圍

      打開作用于所有Sidecar開關(guān)。

      所屬服務(wù)

      單擊添加所屬服務(wù),在添加所屬服務(wù)對話框,配置命名空間default,在添加所屬服務(wù)區(qū)域,選中reviews服務(wù),單擊添加圖標(biāo),然后單擊確定

      HTTP路由

      路由名稱

      單擊HTTP路由,單擊添加路由,自定義路由名稱

      路由目的地

      重復(fù)單擊添加路由目的地,配置如下三個路由目的地。

      • 配置服務(wù)名稱reviews,版本為v1,權(quán)重為10

      • 配置服務(wù)名稱reviews版本v2權(quán)重40

      • 配置服務(wù)名稱reviews版本v3權(quán)重50

      虛擬服務(wù)2

      以上配置對應(yīng)的虛擬服務(wù)YAML如下。

      展開查看虛擬服務(wù)YAML

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: reviews
        namespace: default
      spec:
        hosts:
          - reviews.default.svc.cluster.local
        http:
          - name: route
            route:
              - destination:
                  host: reviews
                  subset: v1
                weight: 10
              - destination:
                  host: reviews
                  subset: v2
                weight: 40
              - destination:
                  host: reviews
                  subset: v3
                weight: 50

步驟五:驗證版本流量路由是否成功

在瀏覽器地址欄,輸入http://{入口網(wǎng)關(guān)服務(wù)的IP地址}/productpage,持續(xù)刷新頁面10次。

若reviews服務(wù)的v1、v2、v3三個版本出現(xiàn)的比例接近1:4:5,表明版本流量路由成功。