第 3 步:创建环境组

在此步骤中,您将创建环境和环境组。

在 Apigee 中,API 代理会部署到环境,这些环境为代理提供隔离上下文。环境被组织为环境组,环境组为部署到组中环境的所有代理提供主机名。您必须具有至少一个环境和一个环境组。如需了解详情,请参阅环境和环境组简介

创建环境

先创建环境,然后再创建环境组。您可以使用 Apigee 界面或使用 API 创建环境。您可能需要通过界面执行这些步骤以熟悉界面。

Apigee 界面

如需访问界面并添加环境,请执行以下步骤:

  1. 打开 Apigee 界面。如果您是首次登录,Hybrid 界面会显示意见征求对话框。如果系统提示您从多个账号中选择一个账号,请选择您在第 2 步:创建 Google Cloud 项目中创建的项目所属的账号。然后,点击允许
  2. 您的浏览器会导航到界面的主着陆页:

    Apigee 界面中的着陆页,包含左侧导航栏和大型链接图片。

  3. 确保从组织下拉列表中选择您的组织。如果尚未选择组织,请从下拉列表中选择组织,如以下示例所示:

    启用混合模式的组织列表

  4. 依次点击管理 > 环境 > 概览

    “Apigee 界面”菜单(其中显示了展开的“管理”“环境”和“概览”选项)

    此时将显示环境视图,但其中尚无环境:

    空白的“环境”视图(其中尚无环境)

  5. 点击添加环境

    此时会显示新建环境对话框:

    “新建环境”对话框

  6. 新建环境对话框中输入以下信息:
    1. 显示名(必需):在界面中使用的环境的易记名称。例如,“My First Environment”或“test”。与环境名称不同,显示名可以包含大写字母和其他特殊字符。
    2. 环境名称(必需):环境的程序化名称;也称为环境 ID

      例如,“my-environment”或“test”。

      显示名环境名称可以不同。

    3. 说明可选):要添加的关于环境用途的其他信息。例如“在初始安装期间创建”。
  7. 点击创建

    Apigee 会创建新环境,并指示它正在等待预配

    “正在等待预配”状态消息

    稍等片刻之后,它会变为已预配

    “已预配新环境”消息

    但是,操作尚未完成。您还需要将新环境添加到运行时的 overrides.yaml 文件中,但是首先您必须安装运行时,所以我们不要操之过急。

Apigee API

要使用创建环境 API 创建环境,请执行以下步骤:

  1. 在您用来管理 Apigee 的设备上打开终端。
  2. 在命令行中,使用以下命令获取 gcloud 身份验证凭据:

    Linux / MacOS

    export TOKEN=$(gcloud auth print-access-token)

    如需检查是否已填充令牌,请使用 echo,如以下示例所示:

    echo $TOKEN

    这应该会以编码字符串的形式显示令牌。

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    如需检查是否已填充令牌,请使用 echo,如以下示例所示:

    echo %TOKEN%

    这应该会以编码字符串的形式显示令牌。

  3. 创建以下环境变量:

    Linux / MacOS

    export ENV_NAME="YOUR_ENV_NAME"

    Windows

    set ENV_NAME="YOUR_ENV_NAME"

    其中:

    • ENV_NAME (必需)环境名称可以包含小写字母、短划线和数字,并且必须以小写字母开头。此名称将用作标识符,并且在创建环境后无法更改。
  4. 调用以下 Apigee API:
    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json"   -d '{
        "name": "'"$ENV_NAME"'"
      }'   "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/environments"

    成功发送创建请求后,Environments API 应返回类似于如下所示的消息作为响应:

    {
      "name": "organizations/hybrid-example/operations/c2aee040-7e79-4fd4-b0cf-79ca1b7098a8",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/hybrid-example/environments/example-env",
        "state": "IN_PROGRESS"
      }
    }

    如响应中的 state 属性所示,Apigee 已开始创建新环境,因此状态为 IN_PROGRESS

  5. 检查以验证环境是否已成功创建:
    curl -H "Authorization: Bearer $TOKEN" \
              "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/environments"

    成功发送创建请求后,Environments API 将返回类似于如下所示的消息作为响应:

    [
      "your-environment-name"
    ]

创建环境组

现在,创建一个环境组,并向其分配您刚刚创建的环境。

Apigee 界面

要使用 Apigee 界面创建环境组,请执行以下步骤:

  1. 打开 Apigee 界面
  2. 您的浏览器会导航到 Apigee 界面的主着陆页。

  3. 确保从组织下拉列表中选择您的组织。如果未选择,请从下拉列表中选择。
  4. 依次点击管理 > 环境 > 群组

    此时将显示环境组概览视图,其中会显示已创建的所有环境组:

    环境组视图,其中显示所有已创建的群组

  5. 点击 +环境组

    此时会显示添加环境组对话框。

    显示空白名称字段的“添加环境组”对话框

  6. 输入名称,然后点击添加
  7. 将指针悬停在新创建的环境组上,然后点击修改 

    添加一个主机名,部署到此环境组中环境的所有代理都将使用此主机名。这应该是您拥有管理权限的网域。主机名可以是网域本身(例如 example.com),也可以包含子网域(例如 my-proxies.example.com)。

    如果您需要注册网域,请与 Google Domains 之类的网域注册商联系。

  8. 显示未分配任何环境的“修改环境组”窗口

  9. 点击添加 (+)
  10. 此时会显示添加环境对话框。
  11. 列出可用环境的“添加环境”对话框

  12. 从列表中选择一个环境,然后点击添加

Apigee API

如需使用 Apigee API 创建环境组,请执行以下操作:

  1. 在命令行中,使用以下命令获取 gcloud 身份验证凭据:

    Linux / MacOS

    TOKEN=$(gcloud auth print-access-token)

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
  2. 创建以下环境变量:

    Linux / MacOS

    export DOMAIN="YOUR_DOMAIN"
    export ENV_GROUP="YOUR_ENVIRONMENT_GROUP"

    Windows

     data-terminal-prefix=">">set ENV_GROUP="YOUR_ENVIRONMENT_GROUP"
     data-terminal-prefix=">">set DOMAIN="YOUR_DOMAIN"

    其中:

    • DOMAIN (必需)这是部署到该环境组中环境的所有代理都将使用的主机名。这应该是您管理的网域。 地址可以是网域本身(例如 example.com),也可以包含子网域(例如 my-proxies.example.com)。如果您没有托管网域,则可以暂时输入占位符。您稍后可以更改网域地址。
    • ENV_GROUP (必需)环境名称可以包含小写字母、短划线和数字,并且必须以小写字母开头。此名称将用作标识符,创建后便无法更改。
  3. 创建环境组:
    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
       -d '{
         "name": "'"$ENV_GROUP"'",
         "hostnames":["'"$DOMAIN"'"]
       }' \
       "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups"
        
  4. 向新组分配环境:
    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
       -d '{
         "environment": "'"$ENV_NAME"'",
       }' \
       "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups/$ENV_GROUP/attachments"
        
  5. 使用以下 CURL 命令验证环境组是否已成功创建:
    curl -H "Authorization: Bearer $TOKEN" \
          "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups"

    成功发送创建请求后,Environments Group API 将返回类似于如下所示的消息作为响应:

          {
            "environmentGroups": [
              {
                "name": "your_envgroup_hybrid",
                "hostnames": [
                  "apigee.hybrid.com"
                ],
                "createdAt": "1677826235324",
                "lastModifiedAt": "1677826235324",
                "state": "ACTIVE"
              }
            ]
          }
        
  6. 使用以下 CURL 命令提取新创建的环境组的最新连接:
    curl -H "Authorization: Bearer $TOKEN" \
          "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups/$ENV_GROUP/attachments"

    如果结果显示唯一的哈希值,则环境组创建和附加成功,如以下示例响应输出中所示:

    
            {
              "environmentGroupAttachments": [
                {
                  "name": "c27046d1-b83e-4cba-xxxx-caaa660b2bd6",
                  "environment": "your_envtest_hybrid",
                  "createdAt": "1677826263567",
                  "environmentGroupId": "your_envgroup_hybrid"
                }
              ]
            }
            

下一步

如需继续安装,请转到第 2 部分:Hybrid 运行时设置