边缘安装概览

Edge for Private Cloud v. 4.17.09

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

安装流程

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

  • 在节点上停用 SELinux 或将其设置为宽容模式。如需了解详情,请参阅安装 Edge apigee-setup 实用程序
  • 决定是否启用 Cassandra 身份验证。
  • 确定是否要为 Postgres 设置主备用复制模式。
  • 从推荐的拓扑列表中选择 Edge 配置。例如,您可以将 Edge 安装在单个节点上(用于测试)或 13 个节点(对于生产节点)。如需了解详情,请参阅安装拓扑
  • 在所选拓扑的每个节点上,安装 Edge apigee-setup 实用程序:
    • 将 Edge bootstrap_4.17.09.sh 文件下载到 /tmp/bootstrap_4.17.09.sh
    • 安装 Edge apigee-service 实用程序和依赖项。
    • 安装 Edge apigee-setup 实用程序和依赖项。

      如需了解详情,请参阅安装 Edge apigee-setup 实用程序
  • 使用 apigee-setup 实用程序,根据您选择的拓扑在每个节点上安装一个或多个 Edge 组件。
    请参阅在节点上安装 Edge 组件
  • 在管理服务器节点上,使用 apigee-setup 实用程序安装 apigee-provision,后者是用于创建和管理 Edge 组织的实用程序。
    如需了解详情,请参阅对组织进行初始配置

谁可以执行安装

Apigee Edge 发行版文件以一组 RPM 和依赖项的形式安装。如需安装、卸载和更新 Edge RPM,这些命令必须由 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 访问权限的用户

如需将用户配置为对“apigee”用户拥有完整的 sudo 访问权限,请使用“visudo”命令修改 sudoers 文件,以添加以下内容:

installUser        ALL=(apigee)      NOPASSWD: ALL

其中,installUser 是 Edge 工作人员的用户名。

设置对配置文件的权限

Edge 命令使用的任何文件或资源都必须可供“apigee”用户访问。这包括 Edge 许可文件和所有配置文件。

创建配置文件时,您可以将其所有者更改为“apigee:apigee”,以确保可由 Edge 命令访问:

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

分隔根用户和非根用户之间的 Edge 安装任务

虽然以 root 用户身份执行整个 Edge 安装过程或由具有完整 sudo 访问权限的用户执行整个 Edge 安装过程是最简单的,但这并非总能实现。相反,您可以将该进程拆分为由 root 执行的任务和由对“apigee”用户具有完整 sudo 访问权限的用户执行的任务。

  1. 由根用户执行的任务:
    1. 下载并运行 bootstrap_4.17.09.sh 文件:
      > curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
      > sudo bash /tmp/bootstrap_4.Apigee-<ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph><ph type="x-smartling-void-element"><br></ph>bootstrap_4.17.09.sh


      uName
    2. 如上所述,将用户配置为对“apigee”用户拥有完整 sudo 访问权限。
    3. 安装 apigee-setup 实用程序:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    4. 使用 apigee-setup 实用程序在节点上安装 Edge RPM:
      > /opt/apigee/apigee-service/bin/apigee-service compName install

      在节点上安装的 Edge RPM 取决于您的拓扑。可用组件列表包括:apigee-provision、 apigee-validate、apigee-zookeeper、apigee-cassandra、apigee-openldap、edge-ui、edge-management-server、edge-ui、edge-router、edge-message-processor、apigee-postgresql、apigee-qpidd、edge-postgres-server、edge-qp
  2. 根用户在节点上安装 Edge RPM 后,对“apigee”用户具有完整 sudo 访问权限的用户会完成配置过程:
    1. 使用 setup.sh 实用程序完成节点上 Edge 组件的配置。该命令的格式取决于您在节点上安装的组件。如需查看完整列表,请参阅在节点上安装 Edge 组件
      例如,如需完成 ZooKeeper 和 Cassandra 安装,请使用以下命令:
      > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile


      其中 configFile 是 Edge 配置文件。

      或者,如需执行一体化安装,请使用以下命令:
      > /opt/apigee/apigee-setup/bin/setup.sh -p aio -f configFile

安装配置文件的位置

您必须将一个配置文件传递给包含 Edge 安装相关信息的 apigee-setup 实用程序。静默安装的唯一要求是配置文件必须可供“apigee”用户访问或读取。例如,将文件放在节点的 /usr/local/var/usr/local/share 目录中,并将其 chown 转换为“apigee:apigee”。

配置文件中的所有信息都是必填项,但 Edge 系统管理员的密码除外。如果省略密码,apigee-setup 实用程序会提示您在命令行中输入该密码。

如需了解详情,请参阅在节点上安装 Edge 组件

处理安装失败

如果 Edge 组件安装失败,您可以尝试修正问题,然后再次运行安装程序。安装程序会在检测到故障时,或者您想在安装后更改或更新组件时重复运行。

互联网或非互联网安装

如需在节点上安装 Edge,该节点必须能够访问 Apigee 代码库:

  • 具有外部互联网连接的节点

    具有外部互联网连接的节点可以访问 Apigee 代码库以安装 Edge RPM 和依赖项。
  • 没有外部互联网连接的节点

    没有外部互联网连接的节点可以访问您在内部设置的 Apigee 代码库的镜像版本。此代码库包含所有 Edge RPM,但您必须确保具有可从内部网络上的代码库获取的所有其他依赖项。

    注意:Apigee 并不在我们的公共代码库中托管所有第三方依赖项。您必须从可公开访问的代码库中下载并安装这些依赖项。

    如需创建内部 Apigee 代码库,您需要一个具有外部互联网访问权限的节点才能下载 Edge RPM 和依赖项。创建内部代码库后,您可以将其移至其他节点,或使该节点可供边缘节点访问以进行安装。

使用本地 Edge 代码库来维护 Edge 版本

如上一部分所述,使用本地代码库或镜像代码库的原因之一是在没有外部互联网连接的节点上安装 Edge。

但是,使用本地代码库还有另一个优势,即使对于具有外部互联网连接的节点也是如此。从 Apigee 公共代码库安装 Edge 时,您始终需要安装最新的 Edge RPM。因此,如果您要为特定 Edge 版本下载和存储 Edge RPM,则应为该 Edge 版本创建一个本地代码库。然后,您可以使用该本地代码库为任何版本的 Edge 执行安装。

例如,您首先使用本地代码库安装 Edge 开发环境。然后,当您准备好迁移到生产环境时,再次从本地代码库安装 Edge。通过本地代码库安装,您可以保证开发和生产环境匹配。

镜像代码库非常灵活。例如,您可以从最新的 Edge RPM 或特定版本的 Edge 创建镜像代码库。创建代码库后,您还可以更新它,以添加来自不同 Edge 版本的每千次展示收入。如需了解详情,请参阅安装 Edge apigee-setup 实用程序

解析 RPM 安装依赖项

Apigee Edge 分发文件以一组 RPM 文件的形式安装,其中每个文件都可以拥有自己的安装依赖项链。其中许多依赖项都是由第三方组件定义的,这些组件不受 Apigee 控制,可能随时发生变化。因此,本文档不会列出每个依赖项的明确版本号。

如果您在具有互联网访问权限的机器上执行安装,节点可以下载必要的 RPM 和依赖项。但是,如果从无法访问互联网的节点进行安装,则通常需要设置包含所有必要依赖项的内部代码库。要确保所有依赖项都包含在本地代码库中的唯一方法是尝试安装,识别任何缺失的依赖项,并将其复制到本地代码库,直到安装成功。

常用 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 操作指南中,根目录安装目录注明为:

/opt/apigee

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

日志文件

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

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

/opt/apigee/var/log/edge-management-server

下表列出了日志文件的位置:

组件

位置信息

管理服务器

/opt/apigee/var/log/edge-management-server

路由器

/opt/apigee/var/log/edge-router

边缘路由器是使用 Nginx 实现的。如需查看其他日志,请参阅:

/opt/apigee/var/log/edge-router/nginx

/opt/nginx/logs

消息处理器

/opt/apigee/var/log/edge-message-processor

Apigee Qpid 服务器

/opt/apigee/var/log/edge-qpid-server

Apigee Postgres 服务器

/opt/apigee/var/log/edge-postgres-server

Edge 界面

/opt/apigee/var/log/edge-ui

ZooKeeper

/opt/apigee/var/log/apigee-zookeeper

OpenLDAP

/opt/apigee/var/log/apigee-openldap

Cassandra

/opt/apigee/var/log/apigee-cassandra

Qpidd

/opt/apigee/var/log/apigee-qpidd

PostgreSQL 数据库

/opt/apigee/var/log/apigee-postgresql

数据

组件

位置信息

管理服务器

/opt/apigee/data/edge-management-server

路由器

/opt/apigee/data/edge-router

消息处理器

/opt/apigee/data/edge-message-processor

Apigee Qpid 代理

/opt/apigee/data/edge-qpid-server

Apigee Postgres 代理

/opt/apigee/data/edge-postgres-server

ZooKeeper

/opt/apigee/data/apigee-zookeeper

OpenLDAP

/opt/apigee/data/apigee-openldap

Cassandra

/opt/apigee/data/apigee-cassandra/data

Qpidd

/opt/apigee/data/apigee-qpid/data

PostgreSQL 数据库

/opt/apigee/data/apigee-postgres/pgdata

安装后任务

安装完成后,您可以对 Edge 组件执行其他操作。

在安装后配置 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

在 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
  • 状态、版本
  • 备份、恢复
  • 安装、卸载