Edge for Private Cloud v. 4.16.05
典型的 Edge 安装由分布在多个节点上的 Edge 组件组成。在节点上安装 Edge 后,您需要在节点上安装和配置一个或多个 Edge 组件。
安装流程
在节点上安装 Edge 是一个多步骤过程:
- 在节点上停用 SELinux 或将其设置为宽容模式。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。
- 从推荐的拓扑列表中选择您的 Edge 配置。例如,您可以在单个节点上安装 Edge 进行测试,也可以在 13 个节点上安装 Edge 进行生产。如需了解详情,请参阅安装拓扑。
- 在所选拓扑中的每个节点上,安装 Edge apigee-setup 实用程序:
- 将 Edge bootstrap_4.16.05.sh 文件下载到 /tmp/bootstrap_4.16.05.sh。
- 安装 Edge apigee-service 实用程序和依赖项。
- 安装 Edge apigee-setup 实用程序和依赖项。
如需了解详情,请参阅安装 Edge apigee-setup 实用程序。
- 使用 apigee-setup 实用程序,根据所选拓扑在每个节点上安装一个或多个 Edge 组件。
请参阅在节点上安装 Edge 组件。 - 在管理服务器节点上,使用 apigee-setup 实用程序安装 apigee-provision,这是用于创建和管理 Edge 组织的实用程序。
如需了解详情,请参阅为组织启用。
处理安装失败
如果在安装 Edge 组件期间发生故障,您可以尝试更正问题,然后再次运行安装程序。安装程序旨在在检测到故障时重复运行,或者在安装后您想要更改或更新组件时重复运行。
配置 Postgres 主备复制
默认情况下,Edge 会在主节点模式下安装所有 Postgres 节点。但是,在具有多个 Postgres 节点的生产系统中,您可以将它们配置为使用主备复制,以便在主节点发生故障时,备用节点可以继续处理流量。如需了解详情,请参阅为 Postgres 设置主备复制。
谁可以执行安装
Apigee Edge 分发文件会作为一组 RPM 和依赖项进行安装。如需安装、卸载和更新 Edge,Edge 命令必须由根用户或具有完整 sudo 访问权限的用户运行。对于完整的 sudo 访问权限,这意味着用户拥有 sudo 访问权限,可以执行与 root 相同的操作。
任何想要运行以下命令或脚本的用户都必须是 root 用户,或者具有完整 sudo 访问权限的用户:
-
apigee-service 实用程序:
- apigee-service 命令:install、uninstall、update。
- apigee-all 命令:install、uninstall、update。
- setup.sh 脚本,用于安装 Edge 组件(除非您已使用“apigee-service install”安装所需的 RPM。如果不需要,则需要根访问权限或完整 sudo 访问权限。)
- update.sh 脚本,用于更新 Edge 组件
此外,Edge 安装程序会在您的系统上创建一个名为“apigee”的新用户。许多 Edge 命令都会调用 sudo 以“apigee”用户身份运行。
任何想要运行上述命令以外的所有其他命令的用户都必须是对“apigee”用户具有完整 sudo 访问权限的用户。这些命令包括:
-
apigee-service 实用程序命令,包括:
- apigee-service 命令,例如 start、stop、restart、configure。
- apigee-all 命令,例如 start、stop、restart、configure。
如需将用户配置为对“apigee”用户具有完全 sudo 访问权限,请修改 sudoers 文件以添加:
installUser ALL=(apigee) NOPASSWD: ALL
其中,installUser 是使用 Edge 的人员的用户名。
Edge 命令使用的任何文件或资源都必须可供“apigee”用户访问。这包括 Edge 许可文件和任何配置文件。
创建配置文件时,您可以将其所有者更改为“apigee:apigee”,以确保 Edge 命令可以访问该文件:
- 以任意用户身份在编辑器中创建文件。
- 将文件的所有者更改为“apigee:apigee”;如果您将运行 Edge 服务的用户从“apigee”用户更改为其他用户,请将文件更改为运行 Edge 服务的用户。
静默安装 Edge 组件
您必须向 apigee-setup 实用程序传递一个配置文件,其中包含有关 Edge 安装的信息。静默安装的唯一要求是配置文件必须可供“apigee”用户访问或读取。例如,将文件放在节点上的 /tmp 目录中,并将其 chown 为“apigee:apigee”。
除了 Edge 系统管理员的密码之外,配置文件中的所有信息都是必需的。如果您省略密码,apigee-setup 实用程序会提示您在命令行中输入密码。
如需了解详情,请参阅在节点上安装 Edge 组件。
联网或不联网安装
如需在节点上安装 Edge,该节点必须能够访问 Apigee 代码库:
- 具有外部互联网连接的节点
具有外部互联网连接的节点会访问 Apigee 代码库,以安装 Edge RPM 和依赖项。 - 没有外部互联网连接的节点
没有外部互联网连接的节点可以访问您在内部设置的 Apigee 代码库的镜像版本。此代码库包含所有 Edge RPM,但您必须确保内部网络上的代码库中提供了所有其他依赖项。
解决 RPM 安装依赖项
Apigee Edge 分发文件作为一组 RPM 文件安装,每个文件都可以有自己的安装依赖项链。其中许多依赖项由第三方组件定义,这些组件不受 Apigee 控制,并且可能随时发生变化。因此,文档中未列出每个依赖项的明确版本号。
如果您在可访问互联网的机器上执行安装,则节点可以下载必要的 RPM 和依赖项。但是,如果您是从无法访问互联网的节点进行安装,则通常需要设置一个包含所有必要依赖项的内部代码库。确保本地代码库中包含所有依赖项的唯一方法是尝试安装、找出所有缺失的依赖项,然后将其复制到本地代码库,直到安装成功。
设置虚拟主机
Edge 上的虚拟主机定义了公开 API 代理的网域和 Edge 路由器端口,以及应用用于访问 API 代理的网址。虚拟主机还定义了是通过 HTTP 协议还是通过加密的 HTTPS 协议访问 API 代理。
在 Edge 初始配置过程中,您必须创建组织、环境和虚拟主机。Edge 提供了 setup-org 命令,以便新用户更轻松地完成此过程。
创建虚拟主机时,您必须指定以下信息:
- 虚拟主机的名称,用于在 API 代理中引用该虚拟主机。
- 虚拟主机的路由器上的端口。通常,这些端口从 9001 开始,每个新虚拟主机递增 1。
- 虚拟主机的主机别名。通常是虚拟主机的 DNS 名称。
Edge 路由器会将传入请求的 Host 标头与可用主机别名列表进行比较,以确定处理请求的 API 代理。通过虚拟主机发出请求时,请指定与虚拟主机的主机别名匹配的域名,或指定路由器的 IP 地址和包含主机别名的 Host 标头。
例如,如果您在端口 9001 上创建了主机别名为 myapis.apigee.net 的虚拟主机,则通过该虚拟主机向 API 发出的 cURL 请求可以使用以下形式之一:
- 如果您有 myapis.apigee.net 的 DNS 条目:
curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - 如果您没有 myapis.apigee.net 的 DNS 条目:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'
在此表单中,您需要指定路由器的 IP 地址,并在 Host 标头中传递主机别名。
注意:curl 命令、大多数浏览器和许多其他实用程序会自动将 Host 标头与网域附加到请求中,因此您实际上可以使用以下形式的 curl 命令:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
没有虚拟主机的 DNS 条目时的选项
如果您没有 DNS 条目,一种方法是将主机别名设置为路由器的 IP 地址和虚拟主机的端口,格式为 <routerIP>:port。例如:
192.168.1.31:9001
然后,您可以使用以下形式发出 curl 命令:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 此选项是首选,因为它非常适合 Edge 界面。
如果您有多个路由器,请为每个路由器添加一个主机别名,并指定每个路由器的 IP 地址和虚拟主机的端口。
或者,您也可以将主机别名设置为某个值,例如 temp.hostalias.com。然后,您必须在每个请求中传递 Host 标头:
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'或者,将主机别名添加到 /etc/hosts 文件中。例如,将以下行添加到 /etc/hosts:
192.168.1.31 temp.hostalias.com
然后,您可以像拥有 DNS 条目一样发出请求:
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}在安装后配置 Edge 组件
如需在安装后配置 Edge,您需要结合使用 .properties 文件和 Edge 实用程序。例如,如需在 Edge 界面上配置 TLS/SSL,您需要修改 .properties 文件以设置必要的属性。对 .properties 文件的更改需要您重启受影响的 Edge 组件。
.properties 文件位于 /opt/apigee/customer/application 目录中。每个组件在该目录中都有自己的 .properties 文件。例如,router.properties 和 management-server.properties。
如需为组件设置属性,请修改相应的 .properties 文件,然后重启该组件:
> /opt/apigee/apigee-service/bin/apigee-service component restart
例如:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
更新 Edge 时,系统会读取 /opt/apigee/customer/application 目录中的 .properties 文件。这意味着,更新会保留您在组件上设置的所有属性。
如需详细了解 Edge 配置,请参阅如何配置 Edge。
确保边缘路由器可以访问 /etc/rc.d/init.d/functions
Edge 路由器和 BaaS 门户都使用 Nginx 路由器,并且需要对 /etc/rc.d/init.d/functions 的读取权限。
如果您的安全流程要求您在 /etc/rc.d/init.d/functions 上设置权限,请勿将其设置为 700,否则路由器将无法启动。权限可以设置为 744,以允许对 /etc/rc.d/init.d/functions 的读取权限。
在 Edge 组件上调用命令
Edge 会在 /opt/apigee/apigee-service/bin 下安装管理实用程序,您可以使用这些实用程序来管理 Edge 安装。例如,您可以使用 apigee-all 实用程序来启动、停止、重启或确定节点上所有 Edge 组件的状态:
/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version
使用 apigee-service 实用程序控制和配置各个组件。apigee-service 实用程序采用以下形式:
/opt/apigee/apigee-service/bin/apigee-service component action
例如,如需重启 Edge Router,请运行以下命令:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
您可以通过检查 /opt/apigee 目录来确定节点上安装的组件列表。该目录包含节点上安装的每个 Edge 组件的子目录。每个子目录都带有以下前缀:
- apigee - Edge 使用的第三方组件。例如,apigee-cassandra。
- edge - Apigee 的 Edge 组件。例如,edge-management-server。
- edge-mint - 创收组件。例如 edge-mint-management-server。
- baas - API BaaS 组件。例如 baas-usergrid。
组件的完整操作列表取决于组件本身,但所有组件都支持以下操作:
- 启动、停止、重启
- status, version
- backup, restore
- install、uninstall
访问日志文件
apigee-setup 和 setup.sh 脚本的日志文件会写入 /tmp/setup-root.log。
每个组件的日志文件都包含在 /opt/apigee/var/log 目录中。每个组件都有自己的子目录。例如,Management Server 的日志位于以下目录中:
/opt/apigee/var/log/edge-management-server
常用 Yum 命令
适用于 Linux 的 Edge 安装工具依靠 Yum 来安装和更新组件。您可能需要使用多个 Yum 命令来管理节点上的安装。
- 清理所有 Yum 缓存:
sudo yum clean all - 如需更新 Edge 组件,请运行以下命令:
sudo yum update componentName
例如:
sudo yum update apigee-setup
sudo yum update edge-management-server
文件系统结构
Edge 会将所有文件安装在 /opt/apigee 目录中。
在本指南和 Edge 操作指南中,根安装目录表示为:
<inst_root>/apigee
安装过程使用以下文件系统结构来部署 Apigee Edge for Private Cloud。
日志文件
|
组件 |
位置 |
|---|---|
|
管理服务器 |
<inst_root>/apigee/var/log/edge-management-server |
|
路由器 |
<inst_root>/apigee/var/log/edge-router |
|
消息处理器 |
<inst_root>/apigee/var/log/edge-message-processor |
|
Apigee Qpid 服务器 |
<inst_root>/apigee/var/log/edge-qpid-server |
|
Apigee Postgres Server |
<inst_root>/apigee/var/log/edge-postgres-server |
|
Edge 界面 |
<inst_root>/apigee/var/log/edge-ui |
|
ZooKeeper |
<inst_root>/apigee/var/log/apigee-zookeeper |
|
OpenLDAP |
<inst_root>/apigee/var/log/apigee-openldap |
|
Cassandra |
<inst_root>/apigee/var/log/apigee-cassandra |
|
Qpidd |
<inst_root>/apigee/var/log/apigee-qpidd |
|
PostgreSQL 数据库 |
<inst_root>/apigee/var/log/apigee-postgresql |
数据
|
组件 |
位置 |
|---|---|
|
管理服务器 |
<data_root>/apigee/data/edge-management-server |
|
路由器 |
<data_root>/apigee/data/edge-router |
|
消息处理器 |
<data_root>/apigee/data/edge-message-processor |
|
Apigee Qpid 代理 |
<data_root>/apigee/data/edge-qpid-server |
|
Apigee Postgres 代理 |
<data_root>/apigee/data/edge-postgres-server |
|
ZooKeeper |
<data_root>/apigee/data/apigee-zookeeper |
|
OpenLDAP |
<data_root>/apigee/data/apigee-openldap |
|
Cassandra |
<data_root>/apigee/data/apigee-cassandra/data |
|
Qpidd |
<data_root>/apigee/data/apigee-qpid/data |
|
PostgreSQL 数据库 |
<data_root>/apigee/data/apigee-postgres/pgdata |