安装注意事项

Edge for Private Cloud v. 4.16.05

典型的 Edge 安装由分布在多个节点上的 Edge 组件组成。在节点上安装 Edge 后,您可以在该节点上安装和配置一个或多个 Edge 组件。

安装流程

在节点上安装 Edge 的过程分为多个步骤:

  • 在节点上停用 SELinux 或将其设置为宽容模式。如需了解详情,请参阅安装 Edge apigee-setup 实用程序
  • 从推荐的拓扑列表中选择 Edge 配置。例如,您可以将 Edge 安装在单个节点上(用于测试)或 13 个节点(对于生产节点)。如需了解详情,请参阅安装拓扑
  • 在所选拓扑的每个节点上,安装 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 命令必须由 root 用户或具有完整 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)。然后,根据需要获取 root 权限或完整 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 命令访问:

  1. 以任意用户的身份在编辑器中创建文件。
  2. 对文件所有者执行 chown 操作,将其设为“apigee:apigee”;或者,如果您将运行 Edge 服务的用户从“apigee”用户更改为,则将该文件更改为运行 Edge 服务的用户。

静默安装 Edge 组件

您必须将包含 Edge 安装相关信息的配置文件传递给 apigee-setup 实用程序。静默安装的唯一要求是配置文件必须可供“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 Router 端口,进而定义应用用于访问 API 代理的网址。虚拟主机还指定是使用 HTTP 协议还是加密的 HTTPS 协议访问 API 代理。

在 Edge 新手入门流程中,您必须创建组织、环境和虚拟主机。Edge 提供了 setup-org 命令,让新用户更轻松地完成此过程。

创建虚拟主机时,必须指定以下信息:

  • 您在 API 代理中引用它时使用的虚拟主机的名称
  • 路由器上用于虚拟主机的端口。通常,这些端口从 9001 开始,每增加一个虚拟主机,递增 1。
  • 虚拟主机的主机别名。通常是虚拟主机的 DNS 名称。

在确定处理请求的 API 代理时,边缘路由器会将传入请求的 Host 标头与可用主机别名列表进行比较。通过虚拟主机发出请求时,请指定与虚拟主机的主机别名匹配的域名,或者指定路由器的 IP 地址以及包含主机别名的 Host 标头。

例如,如果您在端口 9001 上创建了一个主机别名为 myapis.apigee.net 的虚拟主机,那么通过该虚拟主机向 API 发出的 c网址 请求可以使用以下某种格式:

  • 如果您有 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 地址,并在主机标头中传递主机别名。

    注意: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.propertiesmanagement-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

边缘路由器和 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

例如,如需重启边缘路由器,请使用以下命令:

/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

组件的完整操作列表取决于组件本身,不过所有组件都支持以下操作:

  • start、stop、boot
  • 状态、版本
  • 备份、恢复
  • 安装、卸载

访问日志文件

apigee-setupsetup.sh 脚本的日志文件会写入 /tmp/setup-root.log

每个组件的日志文件都包含在 /opt/apigee/var/log 目录中。每个组件都有自己的子目录。例如,管理服务器的日志位于以下目录中:

/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 updateedge-management-server

文件系统结构

Edge 会将所有文件安装在 /opt/apigee 目录中。

在本指南和 Edge 操作指南中,根目录安装目录注明为:

<inst_root>/apigee

该安装过程使用以下文件系统结构来部署适用于私有云的 Apigee Edge。

日志文件

组件

位置信息

管理服务器

<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 服务器

<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