4.2. 第 2 步 - 为您的 API 设置 HTTPRoute


流程

  1. 输入以下命令为您的 Toystore 应用程序 API 定义 HTTP 路由:

    kubectl apply -f - <<EOF
    apiVersion: gateway.networking.k8s.io/v1
    kind: HTTPRoute
    metadata:
      name: toystore
      labels:
        deployment: toystore
        service: toystore
    spec:
      parentRefs:
      - name: ${gatewayName}
        namespace: ${gatewayNS}
      hostnames:
      - "api.${rootDomain}"
      rules:
      - matches:
        - method: GET
          path:
            type: PathPrefix
            value: "/cars"
        - method: GET
          path:
            type: PathPrefix
            value: "/dolls"
        backendRefs:
        - name: toystore
          port: 80
      - matches:
        - path:
            type: PathPrefix
            value: "/admin"
        backendRefs:
        - name: toystore
          port: 80
    EOF
    Copy to Clipboard Toggle word wrap

    使用这个 HTTPRoute 时,部署的服务现在由网关公开。

  2. 您可以通过 HTTPS 访问 API 端点,如下所示:

    export INGRESS_HOST=$(kubectl get gtw ${gatewayName} -o jsonpath='{.status.addresses[0].value}' -n api-gateway)
    
    curl --resolve api.${rootDomain}:443:${INGRESS_HOST} "https://api.${rootDomain}/cars"
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat