地端部署的 Edge Private Cloud 或 Edge 執行個體 安裝在一組伺服器節點上的 Edge 元件。下圖顯示「關係」 部署在世界各地、區域、Pod、機構、環境和虛擬主機之間 邊緣執行個體:
下表說明這些關係:
元件 | 包含 | 關聯資源數 | 預設 |
---|---|---|---|
行星 | 一或多個區域 | 不適用 | |
區域 | 一或多個 Pod | 「dc-1」 | |
廣告連播 | 一或多個 Edge 元件 | 「central" "閘道" "Analytics」 |
|
機構組織 | 一或多個環境 | 一或多個包含訊息處理器的 Pod,以及擔任機構管理員的使用者 | 無 |
環境 | 一或多個虛擬主機 | 與上層機構相關聯的 Pod 中的一或多個訊息處理器 | 無 |
虛擬主機 | 一或多個主機別名 | 無 |
關於星球
地球代表整個 Edge 硬體和軟體環境,且可包含 可以指定一或多個區域在 Edge 中,行星是將區域依邏輯分組:您並非 在安裝 Edge 的過程中明確建立或設定行星。
關於區域
「區域」包含一或多個 Pod。根據預設,當您安裝 Edge 時 安裝程式會建立一個名為「dc-1」的區域含有三個 Pod,如下表所示 顯示:
區域 | 區域中的 Pod |
---|---|
「dc-1」 | 「gateway」、「central」、「analytics」 |
下圖顯示預設區域:
這張圖片顯示負載平衡器將流量導向至「閘道」。「閘道」廣告連播 包含處理 API 要求的 Edge Router 和 Message Processor 元件。除非您 定義多個資料中心,也不需要建立額外的區域。
在較複雜的安裝程序中,您可以建立兩個以上的區域。單一理由 多個區域是使機器依地理位置整理,進而縮短網路傳輸時間。於 在此情境中,您會代管 API 端點,使其地理位置「接近」 這些 API 的使用者
在 Edge 中,每個區域都稱為「資料中心」。在 方便美國東部政府處理來自麻薩諸塞州波士頓的要求, 新加坡可以處理亞洲裝置或電腦發出的要求。
例如,下圖顯示兩個對應兩個資料中心的區域:
關於 Pod
Pod 包含一或多個 Edge 元件和 Cassandra 資料儲存庫。邊緣 元件可以安裝在同一個節點上,但通常安裝在不同的節點上。 Cassandra 資料儲存庫是 Pod 中 Edge 元件使用的資料存放區。
根據預設,安裝 Edge 時,安裝程式會建立三個 Pod,並將 每個 Pod 一起附加以下 Edge 元件和 Cassandra 資料儲存庫:
廣告連播 | 邊緣元件 | Cassandra 資料儲存庫 |
|
---|---|---|---|
「閘道」 | 路由器、訊息處理器 | 快取資料儲存庫 計數器 - 資料儲存庫 dc-datastore |
keyvaluemap-datastore kms-datastore |
「中央」 | 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 |
「Analytics」 | Postgres | analytics-datastore | reportcrud-datastore |
「閘道」中的 Edge 元件和 Cassandra 資料儲存庫API 必須具備 Pod 和資料處理之間這些元件和資料儲存庫必須處於運作狀態,才能處理 API 要求。 元件和資料儲存庫和「analytics」不必使用 Pod 處理 API 而是為 Edge 添加額外功能
下圖顯示每個 Pod 中的元件:
您可以將額外的訊息處理器和路由器 Pod 新增到 預設值。您也可以將其他 Edge 元件新增至現有 Pod。例如: 您可以將其他路由器和訊息處理器新增至「閘道」處理增加的 Pod 以及流量負載
請注意,「閘道」Pod 包含 Edge Router 和 Message Processor 元件。 路由器只會將要求傳送給相同 Pod 中的訊息處理器,不會傳送給 和其他 Pod 一樣
您可以使用下列 API 呼叫,在 為每個 Pod 安裝這個監控工具很實用。
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=podName
其中 ms_IP 是管理伺服器的 IP 位址或 DNS 名稱。 而 podName 為下列其中一個值:
gateway
central
analytics
例如「閘道」廣告連播:
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=gateway
Apigee 會傳回類似以下的輸出內容:
[ { "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
屬性會列出元件類型。請注意,這裡會列出 Cassandra
資料儲存庫中註冊的資料儲存庫。在「閘道」中安裝 Cassandra 節點您
就會看到向所有 Pod 註冊的 Cassandra 資料儲存庫。
關於機構
機構是 Apigee 帳戶中所有物件的容器,包括 API、API 產品、應用程式和開發人員。機構與一或多個 Pod 相關聯 每個 Pod 都必須含有一或多個訊息處理器。
在地端部署環境中安裝 Edge Private Cloud 時,根據預設,系統不會建立任何機構。 建立機構時,您需要指定兩項資訊:
- 擔任機構組織管理員的使用者。該使用者可以新增額外的 驗證使用者,以及設定每位使用者的角色。
- 「閘道」pod,包含訊息處理器的 pod。
機構可包含一或多個環境。預設 Edge 安裝程序 您會建立兩個環境:「test」和「prod」不過,您可以建立更多 提供所需環境,例如「測試環境」、「實驗」等
機構提供了部分 Apigee 功能的範圍。例如:鍵/值對應 (KVM) 資料是在機構層級提供,也就是說,來自所有環境中。其他功能 範圍限定在特定環境Apigee 數據分析資料是以 組織和環境的組合
下列是機構的主要物件,包括全球 以及專為環境定義的方案:
關於環境
環境是機構中 API Proxy 的執行階段執行環境。 您必須先將 API Proxy 部署至環境,才能存取該環境。如有需要 可連結單一環境或多個環境
一個機構可以包含多個環境。例如,您可以定義「dev」 「test」和「prod」投入資源
當您建立環境時,必須將環境與一或多個訊息處理器建立關聯。你可以 請將環境視為執行 API Proxy 的一組已命名訊息處理器。每次 環境可以與同一個訊息處理器建立關聯,也可以與不同的訊息處理器建立關聯。
如要建立環境,請指定兩項資訊:
- 包含環境的機構。
- 處理對環境的 API Proxy 要求的訊息處理器。這些訊息
處理器必須位於與環境的上層機構相關聯的 Pod 中。
根據預設,當您建立環境時,Edge 會將 「閘道」建立與環境相同的 Pod或者,您也可以指定部分 Pod 可用的訊息處理器,以便不同的訊息處理器處理傳送至 環境
一個訊息處理器可與多個環境建立關聯。例如,Edge 安裝包含兩種訊息處理器:A 和 B。接著會在實際工作環境中建立三個環境 Organization: "dev"、"test" 和 "prod":
- 適用於「dev」請將「訊息處理器 A」與「訊息處理器 A」建立關聯 流量十分龐大
- 針對「test」請將「訊息處理器 B」與「訊息處理器 B」建立關聯 流量十分龐大
- 適用於「prod」就必須與「訊息處理器 A」和「B」建立關聯,以便處理 實際工作環境等級的流量
指派給環境的訊息處理器可以來自同一個 Pod,也可以來自 橫跨多個區域和資料中心的 Pod舉例來說,假設您定義了 環境「global」其中包含來自三個區域的訊息處理器 也就是美國、日本和德國的三個資料中心
將 API Proxy 部署至「全域」環境會導致 API Proxy 在 Message 上執行 三個資料中心的處理器。API 流量送達其中一個路由器 系統只會導向至該資料中心內的訊息處理器,因為路由器 只會將流量導向同一個 Pod 中的訊息處理器。
虛擬主機簡介
虛擬主機定義要公開 API Proxy 的 Edge Router 通訊埠。 以及應用程式用來存取 API Proxy 的網址。每個環境都必須定義 至少一個虛擬主機
請確認路由器節點上由虛擬主機指定的通訊埠號碼已開啟。你可以 然後對下列網址提出要求,以存取 API Proxy:
http://routerIP:port/proxy-base-path/resource-name https://routerIP:port/proxy-base-path/resource-name
在此情況下:
http
或https
:如果虛擬主機設為 支援 TLS/SSL,請使用 HTTPS如果虛擬主機不支援 TLS/SSL,請使用 HTTP。- routerIP:port 是虛擬主機的 IP 位址和通訊埠號碼。
- proxy-base-path 和 resource-name 是在建立容器時定義 以及 API Proxy
一般來說,您不會使用 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 安裝程序後,您第一個動作通常會建立 機構、環境和虛擬主機上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作如要表演 請在 Edge Management Server 節點上執行下列指令:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
這個指令會將設定檔做為輸入內容,定義使用者、機構、環境和 虛擬主機
舉例來說,您可以建立:
- 您選擇以機構管理員身分的使用者
- 名為「
example
」的機構 - 機構中名為
prod
的環境,與所有訊息相關聯 「閘道」中的處理方廣告連播 - 名為
default
的虛擬主機允許透過通訊埠 HTTP 存取 9001 人 - 虛擬主機的主機別名
執行該指令碼後,您可以使用下列格式的網址存取 API:
http://routerIP:9001/proxy-base-path/resource-name
您之後可以新增任意數量的機構、環境和虛擬主機。
詳情請參閱「為機構加入計畫」。