Edge for Private Cloud v. 4.16.05
同时创建组织、环境和虚拟主机
在 Apigee Edge 上创建 API 代理之前,您必须创建至少一个组织,并在每个组织内创建一个或多个环境和虚拟主机。
通常情况下,组织和环境会一起创建。如需简化流程,请使用 apigee-provision 实用程序。在边缘管理服务器上从命令行调用它:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
配置文件包含:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPwrod" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # AXGROUP=axgroup-001 # Default value is axgroup-001
然后,该命令会:
- 创建组织
注意:组织一经创建便无法重命名。 - 将组织与 Pod 关联,默认情况下,会将组织与“网关”Pod 关联
- 将指定用户添加为组织管理员。如果该用户不存在,您可以创建一个。
- 创建一个或多个环境
- 为每个环境创建一个或多个虚拟主机
- 将环境与所有消息处理器关联
- 启用分析
如需查看完整的静默配置文件,请参阅对组织进行初始配置。
默认情况下,使用 apigee-provision 实用程序时,组织名称和环境名称的最大长度为 20 个字符。如果您直接使用 Edge API 来创建组织或环境,则此限制不适用。
创建组织
使用 create-org 命令创建组织:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
此脚本会创建组织,但不会添加或配置组织处理 API 调用所需的环境和虚拟主机。
配置文件包含组织的名称和组织管理员的电子邮件地址。只能在名称属性中使用的字符仅限于 a-z0-9\-$%。请勿在名称中使用空格、句点或大写字母:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
然后,该命令会:
- 创建组织
- 将组织与 Pod 相关联,默认情况下,此操作会将组织与“网关”Pod 关联
- 将指定用户添加为组织管理员。该用户必须已经存在,否则脚本会发出错误。
<Error> <Code>organizations.OrganizationAlreadyExists</Code> <Message>Organization : test already exists</Message> <Contexts/> </Error>
使用 API 调用创建组织
或者,您也可以使用以下 API 调用来创建组织。第一次调用会创建组织:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations \ -d '<Organization name="<org-name>" type="paid"/>'
下一次调用会将组织与 Pod 相关联:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/pods \ -d "region=default&pod=gateway"
您可以多次进行此调用,将组织与多个 Pod 相关联。
最后,将现有用户添加为组织的组织管理员:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/users/<user-email>/userroles/ \ -d '<Roles><Role name="orgadmin"/></Roles>'
如果用户不存在,您可以使用以下调用来创建用户,如“添加用户”中所述。
创建环境
使用 add-env 命令在现有组织中创建环境:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile
此配置文件包含创建环境和虚拟主机所需的信息:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # AXGROUP=axgroup-001 # Default value is axgroup-001
命令:
- 创建环境
- 为环境创建一个虚拟主机
- 将环境与与环境所属组织关联的 Pod 中的所有消息处理器相关联。
- 启用分析
注意:如果您为组织中的一个环境启用分析功能,则必须为组织中的所有环境启用分析功能。
使用 API 调用创建环境
或者,您也可以使用以下 API 调用来创建环境。第一次调用会创建环境:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments \ -d '<Environment name="<env-name>"/>'
下一次调用会将环境与消息处理器关联。针对要与环境关联的每个消息处理器进行以下调用:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/servers \ -d "action=add&uuid=<uuid>"
其中,“<uuid>”是消息处理器的 UUID。您可以使用以下命令获取 UUID:
> curl http://<mp-ip>:8082/v1/servers/self
其中,<mp-ip> 是消息处理器的 IP 地址。
下一次 API 调用会针对指定环境启用 Google Analytics(分析)。它会验证所有数据中心的 POD 中是否存在 Qpid 和 Postgres 服务器。然后,为指定的组织和环境启动 Analytics(分析)。
:> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile
此配置文件包含:
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName
curl -H "Content-Type:application/json" -u <sysAdminEmail>:<adminPasswd> -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/analytics/admin -d "@sample.json"
其中,sample.json 包含 Analytics 新手入门的条目。请与 Apigee 支持团队联系以获取 JSON 文件。
创建虚拟主机
您可以在组织的现有环境中创建虚拟主机。一个环境通常支持多个虚拟主机。例如,一个虚拟主机可能支持 HTTP 协议,而同一环境中的另一个虚拟主机支持加密的 HTTPS 协议。
使用以下 API 调用创建其他虚拟主机,或为没有虚拟主机的环境创建虚拟主机:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/virtualhosts \ -d '<VirtualHost name="default"> \ <HostAliases> \ <HostAlias>myorg-test.apigee.net</HostAlias> \ </HostAliases> \ <Interfaces/> \ <Port>443</Port> \ </VirtualHost>'
如需查看创建虚拟主机的完整说明,包括创建通过 HTTPS 使用 TLS/SSL 的安全虚拟主机,请参阅 http://apigee.com/docs/api-services/content/creating-virtual-host。