将 Cloud Gateway API 与 GKE 集成

将 Cloud Gateway API 与 GKE 集成

我正在寻找一个实用的示例/教程,了解如何将 Google Cloud API Gateway 与 GKE 中托管的微服务/API 结合使用。例如,当我尝试创建 API 网关并将其指向 GKE 上的现有 API 时,出现以下错误:

后端 URL“http://35.xxx.xxx.xxx/legalentities”被禁止:无法通过 IP 地址路由请求。

答案1

这个案例在 StackOverflow 上得到解答经过@阿里·纳希德

GKE 默认为入口控制器或负载均衡器生成 IP 地址,而 API 网关不允许 IP 地址作为 x-google-backend 的主机名。这是一个问题,希望在 API 网关发布测试版时能够解决。

我也遇到过同样的情况。以下是我解决这个问题的方法(使用 nip.io):

/products/getoptions:
    get:
      summary: get product options
      operationId: getProductOptions
      x-google-backend:
        address: https://35.xxx.xxx.xxx.nip.io/api/productservice
        path_translation: APPEND_PATH_TO_ADDRESS
      parameters:
        - name: x-access-token
          in: header
          description: Access Token
          required: true
          type: string
        - name: x-refresh-token
          in: header
          description: Refresh Token
          required: true
          type: string
      responses:
        '200':
          description: OK
          schema:
            type: object

相关内容