全部產品
Search
文件中心

Alibaba Cloud Service Mesh:結合Waypoint和虛擬服務管理叢集內的東西向流量

更新時間:Jul 17, 2025

在ASM中安裝了Waypoint代理後,您可以使用7層負載平衡實現服務之間按比例分發流量。本文介紹如何為Bookinfo應用佈建服務間按比例分發流量。

前提條件

操作步驟

Bookinfo應用有三個版本的reviews服務。以下步驟將通過部署虛擬服務來按比例的在v1和v2版本之間分配流量。

  1. 配置流量規則,將目標為reivews服務的請求90%發往reviews-v1,10%發往reviews-v2

    kubectl apply -f - <<EOF
    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: reviews
    spec:
      hosts:
        - reviews
      http:
        - name: route
          route:
            - destination:
                host: reviews-v1
              weight: 90
            - destination:
                host: reviews-v2
              weight: 10
    EOF
  2. 從sleep發起100個請求。

    export RESULT=$(kubectl exec deploy/sleep -- sh -c "for i in \$(seq 1 100); do curl -s http://productpage:9080/productpage | grep reviews-v.-; done")
  3. 驗證流量比例。

    由於每次訪問Bookinfo應用時,會返回兩個相同的reviews版本。因此2中命令的輸出數量為200個。
    1. 查看reviews-v1的數量。

      echo $RESULT|grep reviews-v1 |wc -l

      預期輸出:

      178
    2. 查看reviews-v2的數量。

      echo $RESULT|grep reviews-v2 |wc -l

      預期輸出:

      22

      可以看到reviews-v1和reviews-v2的數量比例大約為9:1,與虛擬服務中配置的權重相同。