管理流量
現在我們已安裝航點代理,我們將學習如何在服務之間分割流量。
在服務之間分割流量
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 功能和能力的資訊。