Edge for Private Cloud v4.18.05
硬體需求
您必須符合下列最低硬體需求,才能在正式環境中建立高可用性基礎架構。
以下影片提供安裝作業的概略大小調整指南:
在「安裝拓撲」一文所述的所有安裝情境中,下表列出安裝元件的最低硬體需求。
在這些表格中,硬碟需求是作業系統所需硬碟空間以外的額外需求。視應用程式和網路流量而定,安裝作業可能需要比下列資源更多或更少的資源。
| 安裝元件 | RAM | CPU | 最低硬碟空間 |
|---|---|---|---|
| Cassandra | 16 GB | 8 核心 | 250 GB 本機儲存空間,搭載 SSD 或支援 2000 IOPS 的快速硬碟 |
| 同一部電腦上的訊息處理器/路由器 | 16 GB | 8 核心 | 100 GB |
| Analytics - Postgres/Qpid 位於同一部伺服器 | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Postgres standalone | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Qpid standalone | 8 GB | 4 核心 | 30 GB 至 50 GB 的本機儲存空間,並使用 SSD 或快速 HDD
如要安裝超過 250 TPS,建議使用支援 1000 IOPS 的本機儲存空間 HDD。 預設的 Qpid 佇列大小為 20 GB。如需增加容量,請新增額外的 Qpid 節點。 |
| 其他 (OpenLDAP、UI、管理伺服器) | 4 GB | 2 核心 | 60 GB |
* 根據處理量調整 Postgres 系統需求:
- 低於 250 TPS:可考慮使用 8 GB、4 核心,以及支援 1000 IOPS 以上的受管理網路儲存空間***
- 超過 250 TPS:16 GB、8 核心、代管網路儲存空間***,支援 1000 IOPS 以上
- 每秒交易數超過 1000:16 GB、8 核心、代管網路儲存空間***,支援 2000 IOPS 以上
- 超過 2000 TPS:32 GB、16 核心、受管理網路儲存空間*** 支援 2000 IOPS 以上
- 超過 4000 TPS:64 GB、32 核心、受管理網路儲存空間*** 支援 4000 IOPS 以上
** Postgres 硬碟值是以 Edge 擷取的現成分析資料為準。 如果您在 Analytics 資料中加入自訂值,這些值就應相應增加。請使用下列公式估算所需儲存空間:
bytes of storage needed =
(# bytes of analytics data/request) *
(requests/second) *
(seconds/hour) *
(hours of peak usage/day) *
(days/month) *
(months of data retention)
例如:
(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)
= 1,194,393,600,000 bytes or 1194.4 GB
*** 建議使用網路儲存空間儲存 PostgreSQL 資料庫,原因如下:
- 可視需要動態擴充儲存空間大小。
- 在現今大多數的環境/儲存/網路子系統中,網路 IOPS 都能即時調整。
- 您可以啟用儲存層級快照,做為備份和復原解決方案的一部分。
此外,如要安裝 Monetization Services,請參閱下列硬體需求:
| 含營利功能的元件 | RAM | CPU | 硬碟 |
|---|---|---|---|
| 管理伺服器 (含營利服務) | 8 GB | 4 核心 | 60 GB |
| Analytics - Postgres/Qpid 位於同一部伺服器 | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好使用 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Postgres standalone | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好使用 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Qpid standalone | 8 GB | 4 核心 | 40 GB 至 500 GB 的本機儲存空間,搭配 SSD 或快速 HDD
如要安裝超過 250 TPS,建議使用支援 1000 IOPS 的本機儲存空間 HDD。 |
作業系統和第三方軟體需求
這些安裝說明和隨附的安裝檔案已在「支援的軟體和支援的版本」列出的作業系統和第三方軟體上測試過。
建立「apigee」使用者
安裝程序會建立名為「apigee」的 Unix 系統使用者。Edge 目錄和檔案由「apigee」擁有,Edge 程序也是如此。也就是說,Edge 元件會以「apigee」使用者身分執行。如有需要,您可以改用其他使用者身分執行元件。
安裝目錄
根據預設,安裝程式會將所有檔案寫入 /opt/apigee 目錄。你無法變更這個目錄位置。您無法變更這個目錄,但可以建立符號連結,將 /opt/apigee 對應至其他位置,詳情請參閱「從 /opt/apigee 建立符號連結」。
在本指南的操作說明中,安裝目錄標示為 /opt/apigee。
從 /opt/apigee 建立符號連結
建立符號連結前,請先建立名為「apigee」的使用者和群組。這與 Edge 安裝程式建立的群組和使用者相同。
如要建立符號連結,請先執行下列步驟,再下載 bootstrap_4.18.05.sh 檔案。 您必須以根使用者身分執行所有這些步驟:
- 建立「apigee」使用者和群組:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- 從
/opt/apigee建立符號連結至所需安裝根目錄:ln -Ts /srv/myInstallDir /opt/apigee
其中 /srv/myInstallDir 是 Edge 檔案的所需位置。
- 將安裝根目錄和符號連結的擁有權變更為「apigee」使用者:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Java
安裝前,請先在每部電腦上安裝支援的 Java 1.8 版本。 如要查看支援的 JDK,請參閱「支援的軟體和支援的版本」。
確認 JAVA_HOME 環境變數指向執行安裝作業的使用者 JDK 根目錄。
SELinux
根據 SELinux 的設定,Edge 可能會遇到安裝及啟動 Edge 元件的問題。如有需要,您可以在安裝期間停用 SELinux 或設為寬鬆模式,然後在安裝完成後重新啟用。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
聯播網設定
Apigee 建議您先檢查網路設定再安裝。安裝程式會假設所有電腦都有固定 IP 位址。使用下列指令驗證設定:
hostname會傳回電腦名稱hostname -i會傳回可從其他機器定址的主機名稱 IP 位址。
視作業系統類型和版本而定,如果主機名稱未正確設定,您可能需要編輯 /etc/hosts 和 /etc/sysconfig/network。詳情請參閱特定作業系統的說明文件。
如果伺服器有多個介面卡,「hostname -i」指令會傳回以空格分隔的 IP 位址清單。根據預設,Edge 安裝程式會使用傳回的第一個 IP 位址,但這可能不適用於所有情況。或者,您也可以在安裝設定檔中設定下列屬性:
ENABLE_DYNAMIC_HOSTIP=y
將該屬性設為「y」後,安裝程式會提示您選取要使用的 IP 位址,做為安裝程序的一部分。預設值為「n」。詳情請參閱「Edge 設定檔參考資料」。
TCP Wrappers
TCP Wrappers 可能會封鎖某些通訊埠的通訊,並影響 OpenLDAP、Postgres 和 Cassandra 的安裝作業。在這些節點上,檢查 /etc/hosts.allow 和 /etc/hosts.deny,確保必要的 OpenLDAP、Postgres 和 Cassandra 連接埠沒有任何限制。
iptables
確認沒有 iptables 政策會阻礙必要 Edge 連接埠上的節點連線。如有必要,您可以在安裝期間使用下列指令停止 iptables:
sudo/etc/init.d/iptables stop
在 CentOS 7.x 上:
systemctl stop firewalld
確認 Edge Router 可以存取 /etc/rc.d/init.d/functions
Edge Router 使用 Nginx 路由器,且需要 /etc/rc.d/init.d/functions 的讀取權限。
如果安全程序要求您在 /etc/rc.d/init.d/functions 上設定權限,請勿將權限設為 700,否則路由器將無法啟動。權限可以設為 744,允許讀取 /etc/rc.d/init.d/functions。
Cassandra
所有 Cassandra 節點都必須連線至環狀拓撲。Cassandra 會將資料副本儲存在多個節點上,確保可靠性及容錯能力。每個 Edge 鍵空間的複製策略會決定副本的放置位置。詳情請參閱「About Cassandra replication factor and consistency level」。
Cassandra 會根據可用記憶體自動調整 Java 堆積大小。如要瞭解詳情,請參閱「調整 Java 資源」,瞭解如何處理效能下降或記憶體用量過高的情況。
安裝 Edge for Private Cloud 後,您可以檢查 /opt/apigee/apigee-cassandra/conf/cassandra.yaml 檔案,確認 Cassandra 設定正確無誤。舉例來說,請確認 Edge for Private Cloud 安裝指令碼已設定下列屬性:
cluster_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
PostgreSQL 資料庫
安裝 Edge 後,您可以根據系統可用的 RAM 容量,調整下列 PostgreSQL 資料庫設定:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
如要設定這些值,請按照下列步驟操作:
- 編輯 postgresql.properties 檔案:
vi /opt/apigee/customer/application/postgresql.properties
如果檔案不存在,請建立檔案。
- 設定上述屬性。
- 儲存編輯內容。
- 重新啟動 PostgreSQL 資料庫:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
系統限制
請確認您已在 Cassandra 和 訊息處理器 節點上設定下列系統限制:
- 在 Cassandra 節點上,為
/etc/security/limits.d/90-apigee-edge-limits.conf中的安裝使用者 (預設為「apigee」) 設定軟硬 memlock、nofile 和位址空間 (as) 限制,如下所示:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited
- 在訊息處理器節點上,於
/etc/security/limits.d/90-apigee-edge-limits.conf中將開啟的檔案描述元數量上限設為 64K,如下所示:apigee soft nofile 32768 apigee hard nofile 65536
如有需要,您可以提高上限。舉例來說,如果您一次開啟大量暫存檔案。
網路安全服務 (NSS)
網路安全服務 (NSS) 是一組程式庫,可支援開發啟用安全性的用戶端和伺服器應用程式。請確認您已安裝 NSS v3.19 以上版本。
如要查看目前的版本:
yum info nss
如要更新 NSS:
yum update nss
詳情請參閱 RedHat 的這篇文章。
使用 NSCD (名稱服務快取精靈) 時,停用 IPv6 的 DNS 查詢
如果您已安裝並啟用 NSCD (名稱服務快取精靈),訊息處理器會執行兩次 DNS 查詢,分別查詢 IPv4 和 IPv6。使用 NSCD 時,應停用 IPv6 的 DNS 查詢。
如要停用 IPv6 的 DNS 查詢,請按照下列步驟操作:
- 在每個訊息處理器節點上,編輯
/etc/nscd.conf - 設定下列屬性:
enable-cache hosts no
在 Google Cloud Platform 上為 RedHat/CentOS 7 停用 IPv6
如果您要在 Google Cloud Platform 上的 RedHat 7 或 CentOS 7 安裝 Edge,則必須在所有 Qpid 節點上停用 IPv6。
如需如何停用 IPv6 的操作說明,請參閱特定 OS 版本的 RedHat 或 CentOS 說明文件。例如,您可以:
- 在編輯器中開啟
/etc/hosts。 - 在下列程式碼行的第一欄插入「#」字元,將該行註解排除:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 儲存檔案。
AWS AMI
如果您要在 Red Hat Enterprise Linux 7.x 的 AWS Amazon Machine Image (AMI) 上安裝 Edge,請先執行下列指令:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
工具
安裝程式會使用 EL5 或 EL6 提供的標準版 UNIX 工具。
|
awk |
expr |
libxslt |
每分鐘轉數 |
unzip |
|
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
|
bash |
主機名稱 |
ls |
sed |
wc |
|
bc |
id |
net-tools |
sudo |
wget |
|
curl |
libaio |
perl (來自 procps) |
tar |
xerces-c |
| cyrus-sasl | libdb4 | pgrep (來自 procps) | tr | 好吃 |
|
日期 |
libdb-cxx |
ps |
uuid |
chkconfig |
| 目錄名稱 | libibverbs | pwd | uname | |
| echo | librdmacm | python |
ntpdate
Apigee 建議您同步伺服器時間。如果尚未設定,ntpdate 公用程式可達到這個目的,用來驗證伺服器是否已同步處理時間。您可以使用 yum install ntp 安裝公用程式。這項功能特別適合用於複製 OpenLDAP 設定。請注意,您是以世界標準時間設定伺服器時區。
openldap 2.4
地端部署需要 OpenLDAP 2.4。如果伺服器已連上網際網路,Edge 安裝指令碼會下載並安裝 OpenLDAP。如果伺服器沒有網際網路連線,請務必先安裝 OpenLDAP,再執行 Edge 安裝指令碼。在 RHEL/CentOS 上,您可以執行 yum install openldap-clients openldap-servers 安裝 OpenLDAP。
如果是 13 部主機的安裝作業,以及有兩個資料中心的 12 部主機安裝作業,由於有多個節點代管 OpenLDAP,因此必須進行 OpenLDAP 複寫。
防火牆和虛擬主機
「virtual」一詞在 IT 領域中經常被過度使用,Apigee Edge Private Cloud 部署作業和虛擬主機也是如此。為求清楚,我們將「virtual」一詞的兩種主要用途說明如下:
- 虛擬機器 (VM):不需要,但部分部署作業會使用 VM 技術,為 Apigee 元件建立獨立伺服器。與實體主機一樣,VM 主機可以有網路介面和防火牆。
- 虛擬主機:網路端點,類似於 Apache 虛擬主機。
VM 中的路由器可以公開多個虛擬主機 (只要主機別名或介面埠彼此不同)。
以命名為例,單一實體伺服器 A 可能會執行兩個 VM,分別命名為「VM1」和「VM2」。假設「VM1」公開虛擬乙太網路介面,該介面在 VM 內命名為「eth0」,並由虛擬化機制或網路 DHCP 伺服器指派 IP 位址 111.111.111.111;然後假設 VM2 也公開名為「eth0」的虛擬乙太網路介面,並指派 IP 位址 111.111.111.222。
我們可能在每個 VM 中執行 Apigee 路由器。路由器會公開虛擬主機端點,如下列假設範例所示:
VM1 中的 Apigee 路由器會在 eth0 介面 (具有特定 IP 位址) 上公開三個虛擬主機:api.mycompany.com:80、api.mycompany.com:443 和 test.mycompany.com:80。
VM2 中的路由器會公開 api.mycompany.com:80 (與 VM1 公開的名稱和連接埠相同)。
實體主機的作業系統可能設有網路防火牆,如果是,則必須設定該防火牆,以傳遞要傳送到虛擬介面 (111.111.111.111:{80, 443} 和 111.111.111.222:80) 上公開通訊埠的 TCP 流量。此外,每個 VM 的作業系統可能會在 eth0 介面上提供自己的防火牆,這些防火牆也必須允許通訊埠 80 和 443 的流量連線。
基本路徑是將 API 呼叫路由至您可能已部署的不同 API Proxy 時,所涉及的第三個元件。如果 API Proxy 套件具有不同的 basepath,即可共用端點。舉例來說,一個 basepath 可以定義為 http://api.mycompany.com:80/,另一個則定義為 http://api.mycompany.com:80/salesdemo。
在這種情況下,您需要某種負載平衡器或流量導向器,將 http://api.mycompany.com:80/ 流量分配到兩個 IP 位址 (VM1 上的 111.111.111.111 和 VM2 上的 111.111.111.222)。這項功能專屬於您的特定安裝作業,並由當地網路群組設定。
部署 API 時會設定 basepath。從上述範例中,您可以在機構 mycompany-org 中部署兩個 API (mycompany 和 testmycompany),並使用主機別名為 api.mycompany.com 的虛擬主機,以及設為 80 的連接埠。如果您未在部署作業中宣告 basepath,路由器就不知道要將傳入的要求傳送至哪個 API。
不過,如果您使用 /salesdemo 的基本網址部署 API testmycompany,使用者就會透過 http://api.mycompany.com:80/salesdemo 存取該 API。如果您使用 / 的基本網址部署 API mycompany,使用者就會透過 http://api.mycompany.com:80/ 網址存取 API。
授權
每次安裝 Edge 時,都需要使用從 Apigee 取得的專屬授權檔案。安裝管理伺服器時,您需要提供授權檔案的路徑,例如 /tmp/license.txt。
安裝程式會將授權檔案複製到 /opt/apigee/customer/conf/license.txt。
如果授權檔案有效,管理伺服器會驗證到期日和允許的訊息處理器 (MP) 數量。如果任何授權設定過期,您可以在下列位置找到記錄:/opt/apigee/var/log/edge-management-server/logs。
在這種情況下,請聯絡 Apigee Edge 支援團隊,瞭解遷移作業的詳細資訊。
如果還沒有授權,請與 Apigee 銷售團隊聯絡。