在此步骤中,您将创建环境和环境组。
在 Apigee 中,API 代理会部署到环境,这些环境为代理提供隔离上下文。环境被组织为环境组,环境组为部署到组中环境的所有代理提供主机名。您必须具有至少一个环境和一个环境组。如需了解详情,请参阅环境和环境组简介。
创建环境
先创建环境,然后再创建环境组。您可以使用 Apigee Hybrid 界面或使用 CLI 创建环境。您可能需要通过界面执行这些步骤以熟悉界面。
Apigee Hybrid 界面
要访问 Hybrid 界面并添加环境,请执行以下步骤:
- 打开 Apigee 界面。如果您是首次登录,Hybrid 界面会显示意见征求对话框。如果系统提示您从多个账号中选择一个账号,请选择您在第 2 步:创建 Google Cloud 项目中创建的项目所属的账号。然后,点击允许。
-
确保从组织下拉列表中选择启用混合模式的组织。 如果尚未选择组织,请从下拉列表中选择组织,如以下示例所示:
- 依次点击管理 > 环境 > 概览。
此时将显示环境视图,但其中尚无环境:
- 点击添加环境。
此时会显示新建环境对话框:
- 在新建环境对话框中输入以下信息:
- 显示名(必需):在界面中使用的环境的易记名称。例如,“My First Environment”或“test”。与环境名称不同,显示名可以包含大写字母和其他特殊字符。
- 环境名称(必需):环境的程序化名称;也称为环境 ID。
例如,“my-environment”或“test”。
显示名和环境名称可以不同。
- 说明(可选):要添加的关于环境用途的其他信息。例如“在初始安装期间创建”。
- 点击创建。
Apigee 会创建新环境,并指示它正在等待预配:
稍等片刻之后,它会变为已预配:
但是,操作尚未完成。您还需要将新环境添加到运行时的
overrides.yaml
文件中,但是首先您必须安装运行时,所以我们不要操之过急。
您的浏览器会导航到混合界面的主着陆页:
gcloud CLI
要使用创建环境 API 创建环境,请执行以下步骤:
- 在您用来管理 Apigee 的设备上打开终端。
-
在命令行中,使用以下命令获取
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%
这应该会以编码字符串的形式显示令牌。
- 确保使用以下命令定义了所需的环境变量:
echo ${PROJECT_ID}
echo ${ENV_NAME}
echo ${ENV_DISPLAY_NAME}
echo ${ORG_NAME}
echo ${ENV_DESCRIPTION}
如果需要,请为环境的元素创建或重新定义以下环境变量。您将在命令中使用以下变量来创建环境变量:
ENV_NAME
(必需)是您的环境的程序化 ID。环境名称可以包含小写字母、短划线和数字,并且必须以小写字母开头。此名称将用作标识符,创建后便无法更改。export ENV_NAME=environment_name
ENV_DISPLAY_NAME
(必需)是您的环境的易记名称。此值不必是唯一的,并且可以包含空格和特殊字符。例如,“My Example Environment”。ENV_DISPLAY_NAME=friendly_name
ORG_NAME
(必需)是您的组织 ID。确保您已按照第 4 步:创建组织定义ORG_NAME
环境变量:echo $ORG_NAME
ENV_DESCRIPTION
(可选)是您要用作其用途提醒的环境信息。例如,“Example environment for Apigee Hybrid instructions”。ENV_DESCRIPTION=description_text
- 向 Create environments API 发送经过身份验证的
POST
请求。以下示例显示了使用以下命令创建环境的请求结构:
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" -d '{ "name": "'"$ENV_NAME"'", "displayName": "'"$ENV_DISPLAY_NAME"'", "description": "'"$ENV_DESCRIPTION"'" }' "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
。此过程可能需要几分钟时间。
创建环境组
现在,创建一个环境组,并向其分配您刚刚创建的环境。通过环境组,您可以将环境分组在一起,并提供用于路由部署到环境组中环境的代理的主机名。您必须至少创建一个环境组,并且必须至少为该组分配一个主机名。如需环境群组的概览,请参阅环境和环境群组简介。
Apigee Hybrid 界面
要使用 Apigee 界面创建环境组,请执行以下步骤:
- 打开 Apigee 界面。
- 确保从组织下拉列表中选择启用混合模式的组织。 如果未选择,请从下拉列表中选择。
- 依次点击管理 > 环境 > 群组。
此时将显示环境组概览视图,其中会显示已创建的所有环境组:
- 点击 +环境组。
此时会显示添加环境组对话框。
- 输入名称,然后点击添加。
-
将指针悬停在新创建的环境组上,然后点击修改
。添加一个主机名,部署到此环境组中环境的所有代理都将使用此主机名。这应该是您拥有管理权限的网域。主机名可以是网域本身(例如
example.com
),也可以包含子网域(例如my-proxies.example.com
)。如果您需要注册网域,请与 Google Domains 之类的网域注册商联系。
- 点击添加 (+)。
- 此时会显示添加环境对话框。
- 从列表中选择一个环境,然后点击添加。
您的浏览器会导航到 Hybrid 界面的主着陆页。
gcloud CLI
要使用命令行创建环境组,请执行以下步骤:
-
在命令行中,使用以下命令获取
gcloud
身份验证凭据:Linux / MacOS
TOKEN=$(gcloud auth print-access-token)
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
- 确保您已设置 DOMAIN 环境变量,如以下示例所示:
echo $DOMAIN
这是部署到该环境组中环境的所有代理都将使用的主机名。这应该是您拥有管理权限的网域。 主机名可以是网域本身(例如
example.com
),也可以包含子网域(例如my-proxies.example.com
)。如果尚未设置该环境变量,则使用计划用于 Apigee 混合安装的网域创建该环境变量。 例如:
export DOMAIN=domain-name.com
- 确保您已将 ENV_NAME 环境变量设置为您刚刚在之前的步骤中创建的环境。例如:
echo $ENV_NAME
- 为预期的环境组名称创建环境变量。例如:
export ENV_GROUP=environment-group-name
- 使用以下命令创建环境组:
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"
- 使用以下命令将环境分配到新组:
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"
下一步
如需继续安装,请参阅运行时安装:准备工作。