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

【Query Parameter Matching】請求參數匹配

發送請求時,可以攜帶用于匹配的查詢參數。本文介紹如何配置請求參數匹配。

前提條件

已完成準備工作,并部署helloworld服務和sleep服務。具體操作,請參見準備工作

操作步驟

  1. 驗證服務配置。

    1. 在ACK集群對應的KubeConfig環境下,執行以下命令,進入sleep環境開啟bash。

      kubectl exec -it deploy/sleep -- sh
    2. 執行以下命令, 向helloworld服務發送請求。

      curl helloworld:5000/hello

      預期輸出為以下兩者之一,helloworld-v1和helloworld-v2隨機響應。

      Hello version: v2, instance: helloworld-v2-7d48f6b995-6****
      Hello version: v1, instance: helloworld-v1-6986f64596-s****
  2. 使用istioctl工具,執行以下命令,為helloworld服務開啟L7 Waypoint。

    istioctl x waypoint apply --service-account helloworld-v1
    istioctl x waypoint apply --service-account helloworld-v2
  3. 使用以下內容,創建目標規則。具體操作,請參見管理目標規則

    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: helloworld
      namespace: default
    spec:
      host: helloworld
      subsets:
        - labels:
            version: v1
          name: v1
        - labels:
            version: v2
          name: v2
    
  4. 使用以下內容,創建虛擬服務,添加Header Matching配置。具體操作,請參見管理虛擬服務

    以下配置表示帶有test-paramsv1的請求流量發往helloworld-v1,帶有test-paramsv2的請求流量發往helloworld-v2。

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: helloworld-vs
      namespace: default
    spec:
      hosts:
        - helloworld
      http:
        - match:
            - queryParams:
                test-params:
                  exact: v1
          route:
            - destination:
                host: helloworld
                subset: v1
        - match:
            - queryParams:
                test-params:
                  exact: v2
          route:
            - destination:
                host: helloworld
                subset: v2
    
  5. 驗證Query Parameter Matching配置是否生效。

    1. 在ACK集群對應的KubeConfig環境下,執行以下命令,進入sleep環境開啟bash。

      kubectl exec -it deploy/sleep -- sh
    2. 執行以下命令,向helloworld服務發送帶有test-params=v1參數的請求。

      curl helloworld:5000/hello?test-params=v1

      預期輸出:

      Hello version: v1, instance: helloworld-v1-6986f64596-s****
    3. 執行以下命令,向helloworld服務發送帶有test-params=v2參數的請求。

      curl helloworld:5000/hello?test-params=v2

      預期輸出:

      Hello version: v2, instance: helloworld-v2-7d48f6b995-6****

      以上結果表明Query Parameter Matching配置生效。