在ASM中安装了Waypoint代理后,您可以使用7层负载均衡实现服务之间按比例分发流量。本文介绍如何为Bookinfo应用配置服务间按比例分发流量。
前提条件
- 已完成部署示例应用程序并开启ambient实现加密通信中的全部操作。 
- 已部署Waypoint,并配置标签使default命名空间的流量必须经过Waypoint。 
操作步骤
Bookinfo应用有三个版本的reviews服务。以下步骤将通过部署虚拟服务来按比例的在v1和v2版本之间分配流量。
- 配置流量规则,将目标为 - 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
- 从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")
- 验证流量比例。 - 由于每次访问Bookinfo应用时,会返回两个相同的reviews版本。因此2中命令的输出数量为200个。 - 查看reviews-v1的数量。 - echo $RESULT|grep reviews-v1 |wc -l- 预期输出: - 178
- 查看reviews-v2的数量。 - echo $RESULT|grep reviews-v2 |wc -l- 预期输出: - 22- 可以看到reviews-v1和reviews-v2的数量比例大约为9:1,与虚拟服务中配置的权重相同。 
 
该文章对您有帮助吗?