部署概览

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

对 API 代理进行更改后,您可以将其保存为新修订版本并将其部署到您的集群。

关于部署

下图展示了 Apigee 上的 API 代理修订版本的部署生命周期。

Apigee API 代理部署生命周期,显示了管理平面、运行时平面和 Stackdriver。

API 代理修订版本限制

API 代理修订版本存在以下限制:

  • 如果您对 API 代理进行任何更改,则必须将其作为新修订版本进行部署。
  • 部署 API 代理后,修订版本将处于只读状态。您无法更改 API 代理修订版本(例如进行增量更改);“更改”修订版本的唯一方法是创建新的修订版本并进行部署。
  • MPS 可以完整地部署代理软件包。如果您更改了单个片段或政策,则 MPS 仍会部署整个代理软件包。
  • 在部署将 API 代理从标准代理更改为可扩展代理的修订版本时,如果您的 Apigee 使用量可区分标准代理和可扩展代理
    • 可能会产生费用。如果您是随用随付客户,请参阅随用随付使用权。如果您是订阅客户,请参阅方案的详细信息。
    • 部署需要额外的时间。在部署期间,API 调用流程不会中断,但您无法部署、取消部署或删除代理。此外,在部署期间无法删除当前或新的修订版本。允许更改 API 代理和创建新的修订版本。

零停机时间部署

所有成功部署到 Apigee 的 API 代理部署都是零停机时间部署。API 代理部署按以下顺序执行:

  1. API 代理 /hello 的修订版本 1 已部署且正在处理流量。
  2. /hello 的修订版本 2 已部署。
  3. 修订版本 2 已部署到运行时平面中的消息处理器。
  4. 已取消部署修订版本 1。

API 代理修订版本部署现已完成,而未出现任何停机时间。

查看部署状态

在 Apigee 上部署 API 代理并不能立即使用。因此,API 代理需要一段时间才能在运行时平面中的所有 MP 之间同步。但是,Apigee 提供的工具可为您提供 API 代理修订版本的状态信息。

Apigee 界面

在 Apigee 界面中,有多个视图可提供 API 代理的部署状态。

Apigee 界面视图 步骤和说明
代理
  1. 依次选择 开发 > API 代理

    显示处于当前已部署状态的 one-fish API 代理(绿色圆点图标)

Apigee 界面使用以下图标快速提供每个 API 代理的状态:

灰色圆点图标表示 API 代理未部署到选定的环境 表示 API 代理尚未部署到选定的环境。
绿色圆点图标表示部署的 API 代理在所选环境中未出现错误或警告 表示所选环境中该代理没有发出错误或警告。
黄色三角形图标表示某个路由因基本路径冲突而未更新 表示某些路由因基本路径冲突而未更新。
红色方框图标表示部署期间发生错误 表示部署 API 代理时出错。

如需查看状态图标,请点击开发标签页。

或者,您也可以选择开发 > API 代理,然后点击相应的 API 代理

Apigee API

如需查看环境中 API 代理修订版本的部署状态,请使用以下 API 调用:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

按照获取 OAuth 2.0 访问令牌中的说明,将 $TOKEN 设置为您的 OAuth 2.0 访问令牌。如需了解此示例中使用的 curl 选项,请参阅使用 curl。如需了解所使用的环境变量,请参阅为 Apigee API 请求设置环境变量

以下提供了一个响应示例。以下示例展示了在 test 环境中部署的 helloworld API 代理的修订版本 1 的部署状态:

{
  "environment": "test",
  "apiProxy": "helloworld",
  "revision": "1",
  "deployStartTime": "1559149080457",
  "pods": [
    {
      "podName": "apigee-runtime-myorg-test-f8bdf9d-2s72w",
      "deploymentStatus": "deployed",
      "statusCodeDetails": "Deployment Success",
      "podStatus": "active",
      "podStatusTime": "1595357668001"
    }
  ],
  "state": "READY"
}

如需了解详情,请参阅 API Proxy Revision Environment Deployments API

gcloud

如需在环境中查看 API 代理修订版本的部署状态,请使用以下 gcloud 命令:

gcloud alpha apigee deployments describe --api=$API --environment=$ENV

如需详细了解示例中使用的环境变量,请参阅搭配使用 gcloud 与 Apigee 入门

以下提供了一个响应示例。以下示例展示了在 test 环境中部署的 helloworld API 代理的修订版本 1 的部署状态:

Using Apigee organization `my-org`
Using deployed revision `1`
apiProxy: helloworld
deployStartTime: '1598032332802'
environment: test
pods:
- deploymentStatus: deployed
  podName: apigee-runtime-myorg-test-f8bdf9d-2s72w
  podStatus: active
  podStatusTime: '1598302128087'
  statusCodeDetails: Deployment Success
revision: '1'
state: READY

如需了解详情,请参阅介绍部署 CLI

后续步骤

 

了解如何部署:

部署 API 代理

 

 

了解如何取消部署:

取消部署 API 代理