管理流量

現在我們已安裝航點代理,我們將學習如何在服務之間分割流量。

在服務之間分割流量

Bookinfo 應用程式具有三個版本的 reviews 服務。您可以在這些版本之間分割流量,以測試新功能或執行 A/B 測試。

讓我們設定流量路由,將 90% 的請求傳送到 reviews v1,10% 傳送到 reviews v2

$ kubectl apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: reviews
spec:
  parentRefs:
  - group: ""
    kind: Service
    name: reviews
    port: 9080
  rules:
  - backendRefs:
    - name: reviews-v1
      port: 9080
      weight: 90
    - name: reviews-v2
      port: 9080
      weight: 10
EOF

若要確認大約 10% 的 100 個請求流量傳送到 reviews-v2,您可以執行以下命令

$ kubectl exec deploy/curl -- sh -c "for i in \$(seq 1 100); do curl -s http://productpage:9080/productpage | grep reviews-v.-; done"

您會注意到大部分請求都傳送到 reviews-v1。如果您在瀏覽器中開啟 Bookinfo 應用程式並多次重新整理頁面,也可以確認相同結果。請注意,來自 reviews-v1 的請求沒有任何星號,而來自 reviews-v2 的請求有黑色星號。

後續步驟

本節總結了 ambient 模式的開始使用指南。您可以繼續前往清理章節以移除 Istio,或繼續瀏覽ambient 模式使用者指南以了解更多關於 Istio 功能和能力的資訊。

此資訊是否有用?
您有任何改進建議嗎?

感謝您的回饋!