关于行星、区域、Pod、组织、环境和虚拟主机

适用于私有云的 Edge v4.18.01

本地安装的 Edge 私有云或 Edge 实例包含多个 安装在一组服务器节点上的边缘组件。下图显示了 区域、区域、Pod、组织、环境和虚拟主机之间 边缘实例:

下表介绍了这些关系:

包含 关联的 默认
星球 一个或多个区域 不适用
区域 一个或多个 Pod “dc-1”
Pod 一个或多个 Edge 组件 "central"
"网关"
"分析"
组织 一个或多个环境 一个或多个 Pod,其中包含消息处理器以及一个充当组织管理员的用户
环境 一个或多个虚拟主机 与父级组织关联的 Pod 中的一个或多个消息处理器
虚拟主机 一个或多个主机别名

关于行星

星球表示整个 Edge 硬件和软件环境,可以包含 一个或多个区域在《边缘》中,星球是区域的逻辑分组, 在安装 Edge 的过程中,明确创建或配置星球。

关于区域

一个 region 包含一个或多个 Pod 的分组。默认情况下,当您安装 Edge 时, 安装程序创建名为“dc-1”的单个区域包含三个 Pod,如下表所示 显示:

区域 该区域中的 Pod
“dc-1” “gateway”、“central”、“analytics”

下图显示了默认区域:

此图片显示了将流量定向到“网关”的负载平衡器Pod。“网关”广告连播 包含用于处理 API 请求的边缘路由器和消息处理器组件。除非您 那么您应该不需要创建额外的区域。

在更复杂的安装情况下,您可以创建两个或更多区域。创作的理由之一 按地理位置整理机器,从而最大限度地缩短网络传输时间。在 在这种情况下,您需要托管 API 端点,以便它们在地理位置上靠近 这些 API 的使用者

在 Edge 中,每个区域称为一个“数据中心”。Google Cloud 数据中心 这样,美国东部就可以处理来自马萨诸塞州波士顿的请求, 新加坡可以处理来自位于亚洲的设备或计算机的请求。

例如,下图显示了两个区域,分别对应于两个数据中心:

关于 Pod

Pod 是一个或多个 Edge 组件和 Cassandra 数据存储区的分组。边缘 组件可以安装在同一节点上,但更常安装在其他节点上。 Cassandra 数据存储区是 Pod 中 Edge 组件使用的数据存储区。

默认情况下,当您安装 Edge 时,安装程序会创建三个 Pod,并将 以下 Edge 组件和 Cassandra 数据存储区与每个 Pod:

Pod Edge 组件

Cassandra 数据存储区

“网关” 路由器、消息处理器 缓存数据存储区
计数器数据存储区
dc-datastore
keyvaluemap-datastore
kms-datastore
"central" Management Server、Zookeeper、LDAP、UI、Qpid application-datastore
apimodel-datastore
audit-datastore
auth-datastore
identityzone-datastore
edgenotification-datastore
management-server
scheduler-datastore
user-settings-datastore
“分析” Postgres analytics-datastore reportcrud-datastore

Edge 组件和“网关”中的 Cassandra 数据存储区“Pod”是必不可少的 处理。这些组件和数据存储区必须处于正常运行状态才能处理 API 请求。通过 存储在“中央”控制台中和“分析”处理 API 时不需要 Pod 但要向 Edge 添加其他功能

下图显示了每个 Pod 中的组件:

您可以将其他消息处理器 Pod 和路由器 Pod 添加到 默认值。或者,您也可以向现有 Pod 添加其他 Edge 组件。例如: 就可以将其他路由器和消息处理器添加到需要处理的广告连播数量 流量。

请注意,“网关”Pod 包含边缘路由器和消息处理器组件。 路由器只向同一 Pod 中的消息处理器发送请求,不向同一 Pod 中的消息处理器发送请求 其他 Pod

您可以使用下列 API 调用,在 每个 Pod 的安装情况这是一款实用的监控工具。

curl -u adminEmail:pword http://<ms_IP>:8080/v1/servers?pod=podName

其中 ms_IP 是管理服务器的 IP 地址或 DNS 名称。 并且 podName 可以为以下任何一项:

  • gateway
  • central
  • analytics

例如,对于“网关”Pod:

> curl -u adminEmail:pword http://<ms_IP>:8080/v1/servers?pod=gateway

您将看到以下格式的输出:

[ {
  "externalHostName" : "localhost",
  "externalIP" : "192.168.1.11",
  "internalHostName" : "localhost",
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ {
      "name" : "jmx.rmi.port",
      "value" : "1101"
    }, ... ]
  },
  "type" : [ "message-processor" ],
  "uUID" : "276bc250-7dd0-46a5-a583-fd11eba786f8"
}, 
{
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ ]
  },
  "type" : [ "dc-datastore", "management-server", "cache-datastore", "keyvaluemap-datastore", "counter-datastore", "kms-datastore" ],
  "uUID" : "13cee956-d3a7-4577-8f0f-1694564179e4"
},
{
  "externalHostName" : "localhost",
  "externalIP" : "192.168.1.11",
  "internalHostName" : "localhost",
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ {
      "name" : "jmx.rmi.port",
      "value" : "1100"
    }, ... ]
  },
  "type" : [ "router" ],
  "uUID" : "de8a0200-e405-43a3-a5f9-eabafdd990e2"
} ]

type 属性列出了组件类型。请注意,它列出了 在 Pod 中注册的数据存储区而 Cassandra 节点安装在“网关”中Pod,你 将看到向所有 Pod 注册的 Cassandra 数据存储区。

关于组织

组织是 Apigee 账号中所有对象的容器,包括 API、API 产品、应用和开发者。一个组织与一个或多个 Pod 相关联, 其中每个 Pod 必须包含一个或多个消息处理器。

在本地安装的 Edge 私有云中,默认情况下没有组织。 创建组织时,您需要指定两条信息:

  1. 担任组织管理员的用户。该用户随后可以 将用户添加到该组织,并设置每个用户的角色。
  2. “网关”Pod(包含消息处理器的 Pod)。

一个组织可以包含一个或多个环境。Edge 的默认安装过程 提示您创建两个环境:“test”和“prod”。不过,您可以创建更多 (例如“预演”“实验”等)

组织提供某些 Apigee 功能的范围。例如,键值对映射 (KVM) 数据在组织级别提供,可以在所有环境中使用。其他功能 (例如缓存)的作用域限定为特定环境。Apigee 分析数据按 组织和环境的综合性。

下面显示了一个组织的主要对象,包括 组织,以及专门针对环境定义的组织:

关于环境

环境是组织中 API 代理的运行时执行上下文。您必须先将 API 代理部署到环境,然后才能对其进行访问。您可以将 API 代理部署到单个环境或多个环境。

一个组织可以包含多个环境。例如,您可以定义一个“dev” “test”和“prod”组织环境

创建环境时,您将其与一个或多个消息处理器相关联。您可以 可以将环境视为运行 API 代理的一组指定消息处理器。每个 环境可以关联到相同的消息处理器,也可以与不同的消息处理器相关联。

如需创建环境,请指定两条信息:

  1. 包含环境的组织。
  2. 处理向环境发出的 API 代理请求的消息处理器。这些消息 处理器必须位于与环境的父级组织关联的 Pod 中。
    默认情况下,当您创建环境时,Edge 会在 “网关”Pod 与环境或者,您也可以指定 以便不同的消息处理器处理发送到不同 环境

一个消息处理器可与多个环境相关联。例如,你的 Edge 安装包含两个消息处理器:A 和 B。然后,在存储分区中创建三个环境 组织:“dev”“test”和“prod”:

  • 对于“开发者”您应该关联消息处理器 A,因为您不需要 大量流量。
  • 对于“测试”则关联消息处理器 B,因为不需要 大量流量。
  • 对于“prod”则您需要将消息处理器 A 和 B 都关联起来, 生产级的卷。

分配给环境的消息处理器可以全部来自同一 Pod,也可以来自 跨多个区域和数据中心的多个 Pod例如,您可以定义 环境“global”这三个区域的消息处理器、 即美国、日本和德国这三个不同的数据中心。

将 API 代理部署到“全球”环境会导致 API 代理在 Message 上运行 所有三个数据中心的处理器。到达其中任一路由器的 API 流量 所有数据中心都将只能定向至该数据中心内的消息处理器, 只能将流量定向到同一 Pod 中的消息处理器

关于虚拟主机

虚拟主机用于定义在边缘路由器上公开 API 代理的端口。 以及应用用于访问 API 代理的网址。每种环境都必须定义 至少一个虚拟主机。

确保虚拟主机指定的端口号在路由器节点上处于打开状态。您可以 然后,通过向以下对象发出请求来访问 API 代理:

http://routerIP:port/proxy-base-path/resource-name
https://routerIP:port/proxy-base-path/resource-name

其中:

  • httphttps:如果虚拟主机已配置为 支持 TLS/SSL,请使用 HTTPS。如果虚拟主机不支持 TLS/SSL,请使用 HTTP。
  • routerIP:port 是虚拟主机的 IP 地址和端口号。
  • proxy-base-pathresource-name 在您创建 API 代理。

通常,您不会向具有 IP 地址和端口号的客户发布 API。 而是为路由器和端口定义 DNS 条目。例如:

http://myAPI.myCo.com/proxy-base-path/resource-name
https://myAPI.myCo.com/proxy-base-path/resource-name

您还必须为虚拟主机创建与 DNS 的域名匹配的主机别名。 条目。在上面的示例中,您可以指定 myAPI.myCo.com 的主机别名。 如果没有 DNS 条目,请将主机别名设置为路由器的 IP 地址和 虚拟主机,即 routerIP:port

如需了解详情,请参阅关于虚拟主机

创建您的首个组织, 和虚拟主机

完成 Edge 安装过程后,您的第一项操作通常是创建 通过“初始配置”对组织、环境和虚拟主机进行过程。要执行 请在边缘管理服务器节点上运行以下命令:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

此命令将一个配置文件作为输入,该配置文件定义了用户、组织、环境和 虚拟主机。

例如,您创建:

  • 您选择的担任组织管理员的用户
  • 名为 example 的组织
  • 名为 prod 的组织中与所有 Message 关联的环境 “网关”中的处理器广告连播
  • 名为 default 的环境中允许通过端口进行 HTTP 访问的虚拟主机 9,001
  • 虚拟主机的主机别名

运行该脚本后,您可以使用采用以下格式的网址访问 API:

http://routerIP:9001/proxy-base-path/resource-name

您以后可以添加任意数量的组织、环境和虚拟主机。

如需了解详情,请参阅对组织进行初始配置