3.3. 使用流量路由验证第 7 层(L7)功能


在更新 waypoint 代理后,验证第 7 层(L7)可以正常工作。如果您使用流量路由规则,如 HTTPRoute,请确认它们仍然强制执行预期的行为。

先决条件

  • 您已更新了 waypoint 代理。
  • 您已部署了 info 应用程序。
  • 您已创建了 HTTPRoute 资源。

流程

  1. 可选:运行以下命令,创建 HTTPRoute 资源(如果不存在):

    $ oc apply -f - <<EOF
    apiVersion: gateway.networking.k8s.io/v1
    kind: HTTPRoute
    metadata:
      name: reviews
      namespace: info
    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
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,验证 HTTPRoute 规则是否已正确分发流量:

    for i in {1..10}; do
      kubectl exec "$(
        kubectl get pod \
          -l app=productpage \
          -n info \
          -o jsonpath='{.items[0].metadata.name}'
      )" \
      -c istio-proxy \
      -n info -- \
      curl -s http://reviews:9080/reviews/0 | grep -o "reviews-v[0-9]"
    done
    Copy to Clipboard Toggle word wrap

    输出应反映 HTTPRoute 中定义的流量分布。例如,在 review-v1 和 review -v 2 之间分离 90/10 权重,您应该观察路由到 review-v1 的 9 个请求,以及一个路由到 review-v2 的请求。确切的比率可能会因为负载平衡行为而稍有不同,但应在多个测试运行的基础上与配置的权重匹配。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat