第 2 步:部署 API 代理

现在,您已经安装并配置了 Apigee Hybrid 运行时和入站流量网关,接下来您将了解它们如何协同工作。

1. 使用 Apigee 界面创建新的 API 代理

本部分介绍了如何使用 API 代理向导在该界面中创建新的 API 代理。

  1. 在浏览器中打开 Apigee 界面。
  2. 从左上角的下拉菜单中选择您的组织。
  3. 在主视图中选择代理开发 > API 代理
  4. 点击创建。API 代理向导随即启动。
  5. 选择反向代理(最常见)。

    系统将显示代理详细信息视图。

  6. 使用以下设置配置代理:
    • 代理名称:输入 myproxy。本部分的其余步骤假定这是代理的 ID。
    • 基本路径:自动设置为 /,后跟代理名称,在此示例中为 /myproxy基本路径是用于向 API 发出请求的网址的一部分。Apigee 使用该网址来匹配传入的请求并将其路由到相应的 API 代理。
    • (可选) 说明:为新的 API 代理输入说明,例如“使用简单代理测试 Apigee Hybrid”。
    • 目标(现有 API):输入“https://mocktarget.apigee.net”。此操作会定义 Apigee 在向 API 代理发送的请求上调用的目标网址。mocktarget 服务托管在 Apigee 上,并返回简单的数据。它不需要 API 密钥或访问令牌。

    您的 API 代理的详细信息应如下所示:

    创建代理向导中的代理详细信息。

  7. 点击下一步
  8. 您可以在 Deploy (optional)(部署 [可选])下的 Deployment environments(部署环境)字段中选择要在其中部署代理的一个或多个环境。 如果您不想在此时部署代理,请将部署环境字段留空。您可以稍后部署该代理。
  9. 点击创建。Apigee 会生成代理(有时称为代理软件包)。

Apigee 会显示代理摘要视图。 如果您选择部署代理,则部署部分会显示修订版本号,首次部署时为 1。状态列显示在其中部署代理的环境,带有绿色状态指示符。

下方的修订版本部分显示对此代理进行的所有修订。点击 Endpoint summary 列中的一个查看项后,端点部分会显示:

  • 代理端点:您为代理设置的基本路径,在此示例中为 /myproxy
  • 目标端点:您为目标设置的基本路径,在此示例中为 https://mocktarget.apigee.net

2. 调用 API 代理

当界面指示代理已部署时,您可以尝试使用 cURL 或您选择的 REST 客户端调用该代理。例如:

  1. 确保将 DOMAIN 环境变量设置为项目和组织设置 - 第 3 步:创建环境组中环境组的主机名所使用的域名。
    echo $DOMAIN
  2. 使用以下命令找到 Apigee 入站流量网关的外部 IP 地址和端口:

    kubectl get svc -n APIGEE_NAMESPACE -l app=apigee-ingressgateway

    输出应如下所示:

    NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                      AGE
    apigee-ingressgateway-prod-hybrid-37a39bd   LoadBalancer   192.0.2.123   233.252.0.123   15021:32049/TCP,80:31624/TCP,443:30723/TCP   16h
  3. 将外部 IP 和端口导出到变量:
    export INGRESS_IP_ADDRESS=EXTERNAL_IP_ADDRESS
    export INGRESS_PORT=PORT_NUMBER
  4. 调用 API 代理:
    curl  -H Host:$DOMAIN --resolve \
      $DOMAIN:$INGRESS_PORT:$INGRESS_IP_ADDRESS  \
      https://$DOMAIN:$INGRESS_PORT/myproxy -k -v

    例如:

    curl -v -H Host:example.com --resolve example.com:443:233.252.0.123 https://example.com:443/myproxy -k -v
  5. 对代理的成功调用会返回 HTTP 200 响应代码和以下输出。

    Hello, Guest!

如需详细了解如何构建和部署 API 代理,请参阅构建第一个代理概览