Edge for Private Cloud 4.16.09 版
一般 Edge 安裝作業包含分散在多個節點的 Edge 元件。在節點上安裝 Edge 後,您可以在節點上安裝及設定一或多個 Edge 元件。
安裝程序
在節點上安裝 Edge 的程序包含多個步驟:
- 在節點上停用 SELinux,或將其設為寬鬆模式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 從建議的拓撲清單中選取 Edge 設定。舉例來說,您可以將 Edge 安裝在單一節點上進行測試,或安裝在 13 個節點上用於正式環境。詳情請參閱「安裝拓撲」。
- 在所選拓撲中的每個節點上,安裝 Edge apigee-setup 公用程式:
- 將 Edge bootstrap_4.16.09.sh 檔案下載至 /tmp/bootstrap_4.16.09.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 指令必須由超級使用者或具有完整 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 指令可以存取該檔案:
- 以任何使用者身分在編輯器中建立檔案。
- 將檔案擁有者變更為「apigee:apigee」,或者如果您已將執行 Edge 服務的使用者從「apigee」使用者變更,請將檔案變更為執行 Edge 服務的使用者。
安裝設定檔的位置
您必須將設定檔傳遞至 apigee-setup 公用程式,其中包含 Edge 安裝作業的相關資訊。無訊息安裝的唯一要求是「apigee」使用者必須能存取或讀取設定檔。舉例來說,將檔案放在節點上的 /usr/local/var 或 /usr/local/share 目錄中,並將其 chown 設為「apigee:apigee」。
除了 Edge 系統管理員的密碼外,設定檔中的所有資訊都是必要資訊。如果省略密碼,apigee-setup 公用程式會提示您在指令列輸入密碼。
詳情請參閱「在節點上安裝 Edge 元件」。
網際網路或非網際網路安裝
如要在節點上安裝 Edge,節點必須能夠存取 Apigee 存放區:
- 具有外部網際網路連線的節點
具有外部網際網路連線的節點會存取 Apigee 存放區,安裝 Edge RPM 和依附元件。 - 沒有外部網際網路連線的節點
沒有外部網際網路連線的節點,可以存取您在內部設定的 Apigee 存放區鏡像版本。這個存放區包含所有 Edge RPM,但您必須確保內部網路上的存放區提供所有其他依附元件。
注意:Apigee 不會在公開存放區中託管所有第三方依附元件。您必須從可公開存取的存放區下載並安裝這些依附元件。
解決 RPM 安裝依附元件
Apigee Edge 發布檔案會以一組 RPM 檔案的形式安裝,每個檔案都有自己的安裝依附元件鏈。其中許多依附元件是由 Apigee 無法控制的第三方元件定義,且隨時可能變更。因此,說明文件不會列出各項依附元件的明確版本號碼。
如果您在具備網路連線能力的機器上執行安裝作業,節點可以下載必要的 RPM 和依附元件。不過,如果您是從無法存取網際網路的節點進行安裝,通常會設定包含所有必要依附元件的內部存放區。如要確保本機存放區包含所有依附元件,唯一的方法是嘗試安裝、找出缺少的依附元件,然後將這些元件複製到本機存放區,直到安裝成功為止。
設定虛擬主機
Edge 上的虛擬主機會定義 API Proxy 公開的網域和 Edge 路由器通訊埠,以及應用程式用來存取 API Proxy 的網址。虛擬主機也會定義 API Proxy 是透過 HTTP 通訊協定存取,還是透過加密的 HTTPS 通訊協定存取。
在 Edge 新手上路流程中,您必須建立組織、環境和虛擬主機。Edge 提供 setup-org 指令,讓新使用者能更輕鬆地完成這項程序。
建立虛擬主機時,您必須指定下列資訊:
- 虛擬主機的名稱,用於在 API Proxy 中參照。
- 虛擬主機的路由器通訊埠。這些通訊埠通常從 9001 開始,每新增一個虛擬主機,通訊埠編號就會遞增一。
- 虛擬主機的主機別名。通常是虛擬主機的 DNS 名稱。
Edge 路由器會比較傳入要求的「Host」標頭與可用主機別名清單,以判斷處理要求的 API Proxy。透過虛擬主機提出要求時,請指定與虛擬主機的主機別名相符的網域名稱,或指定路由器的 IP 位址和包含主機別名的「Host」標頭。
舉例來說,如果您在通訊埠 9001 上建立虛擬主機,並將主機別名設為 myapis.apigee.net,則透過該虛擬主機向 API 發出的 cURL 要求可以使用下列其中一種形式:
- 如果您有 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 位址,並在 Host 標頭中傳遞主機別名。
注意: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 UI 使用。
如果您有多個路由器,請為每個路由器新增主機別名,並指定每個路由器的 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 UI 上設定 TLS/SSL,請編輯 .properties 檔案,設定必要屬性。變更 .properties 檔案後,您必須重新啟動受影響的 Edge 元件。
.properties 檔案位於 /opt/apigee/customer/application 目錄中。每個元件在該目錄中都有自己的 .properties 檔案。例如 router.properties 和 management-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 路由器可以存取 /etc/rc.d/init.d/functions
Edge 路由器和 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
舉例來說,如要重新啟動 Edge Router,請按照下列步驟操作:
/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、restart
- status, version
- 備份、還原
- 安裝、解除安裝
存取記錄檔
apigee-setup 和 setup.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 update edge-management-server
檔案系統結構
Edge 會將所有檔案安裝在 /opt/apigee 目錄中。
在本指南和《Edge 作業指南》中,根安裝目錄會標示為:
<inst_root>/apigee
安裝作業會使用下列檔案系統結構,部署 Apigee Edge for Private Cloud。
記錄檔
|
元件 |
位置 |
|---|---|
|
管理伺服器 |
<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 UI |
<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 |