安裝注意事項

私有雲的邊緣 4.16.05 版

一般的 Edge 安裝作業是由分散在多個節點的 Edge 元件組成。 在節點上安裝 Edge 後,即可在節點中安裝及設定一或多個 Edge 元件。

安裝程序

在節點上安裝 Edge 分為多個步驟:

  • 在節點上停用 SELinux,或將其設為寬鬆模式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
  • 從建議的拓撲清單中選取您的 Edge 設定。例如在 13 個節點上安裝 Edge 以進行測試,也可以將 Edge 安裝在 13 個節點上。詳情請參閱安裝拓撲
  • 在所選拓撲中的每個節點上,安裝 Edge apigee-setup 公用程式:
    • 將 Edge bootstrap_4.16.05.sh 檔案下載至 /tmp/bootstrap_4.16.05.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 存取權,這表示使用者擁有 sudo 存取權,可與 root 執行相同的作業。

任何要執行下列指令或指令碼的使用者,都必須是 root,或是具備完整 sudo 存取權的使用者:

  • apigee-service 公用程式:
    • apigee-service 指令:安裝、解除安裝、更新
    • apigee-all 指令:安裝、解除安裝、更新
  • 用來安裝 Edge 元件的 setup.sh 指令碼 (除非您已使用「apigee-service install」安裝必要的 RPM)。然後再要求根層級或完整的 sudo 存取權)。
  • 用於更新 Edge 元件的 update.sh 指令碼

此外,Edge 安裝程式會在您的系統上建立一個名為「apigee」的新使用者。許多 Edge 指令會叫用 sudo,以「apigee」使用者的身分執行。

任何想要執行上述指令以外的所有指令的使用者,都必須是具備「apigee」使用者完整 sudo 存取權的使用者。這些指令包括:

  • apigee-service 公用程式指令,包括:
    • apigee-service 指令,例如 start、stop、 restart、setup
    • apigee-all 指令,例如 start、stop、 restart、setup

若要設定使用者擁有「apigee」使用者的完整 sudo 存取權,請編輯 sudoers 檔案以新增:

installUser        ALL=(apigee)      NOPASSWD: ALL

其中 installUser 是 Edge 工作人員的使用者名稱。

Edge 指令使用的任何檔案或資源必須可供「apigee」存取。其中包括 Edge 授權檔案和任何設定檔。

建立設定檔時,您可以將擁有者變更為「apigee:apigee」,確保其可存取 Edge 指令:

  1. 以任何使用者的身分在編輯器中建立檔案。
  2. 擁有檔案擁有者為「apigee:apigee」,或如果將執行 Edge 服務的使用者從「apigee」使用者變更為執行 Edge 服務的使用者,並將檔案授予執行 Edge 服務的使用者。

自動安裝 Edge 元件

您必須將設定檔傳送至含有 Edge 安裝相關資訊的 apigee-setup 公用程式。如要採用無訊息安裝,唯一的要求是「apigee」使用者必須存取或讀取設定檔。例如將檔案放在節點的 /tmp 目錄中,並設為「apigee:apigee」。

除了 Edge 系統管理員的密碼之外,設定檔中的所有資訊皆為必填。如果您省略密碼,apigee-setup 公用程式會提示您在指令列中輸入該密碼。

詳情請參閱「在節點上安裝 Edge 元件」。

網際網路或非網際網路安裝

如要在節點上安裝 Edge,節點必須能夠存取 Apigee 存放區:

  • 具備外部網際網路連線的節點

    具備外部網際網路連線的節點會存取 Apigee 存放區,以便安裝 Edge RPM 和依附元件。
  • 沒有外部網際網路連線的節點

    沒有外部網際網路連線的節點可以存取您在內部設定的 Apigee 存放區鏡像版本。這個存放區包含所有邊緣 RPM,但您必須確保內部網路中的存放區中有其他所有依附元件。

解決 RPM 安裝依附元件

Apigee Edge 發布檔案是以一組 RPM 檔案形式安裝,每個檔案都有專屬的安裝依附元件鏈。這些依附元件是由 Apigee 以外的第三方元件定義,因此隨時可能變更。因此,說明文件不會列出每個依附元件的明確版本號碼。

如果您在可連上網際網路的機器上執行安裝作業,該節點可以下載必要的 RPM 和依附元件。不過,如果是在沒有網際網路存取權的節點中進行安裝,通常會設定內含所有必要依附元件的內部存放區。要確保本機存放區包含所有依附元件,唯一的方法就是嘗試安裝、找出任何缺少的依附元件,並複製到本機存放區,直到安裝成功為止。

設定虛擬主機

Edge 上的虛擬主機會定義公開 API Proxy 的網域和邊緣路由器通訊埠,以及應用程式用來存取 API Proxy 的網址。虛擬主機也會定義要透過 HTTP 通訊協定或加密 HTTPS 通訊協定存取 API Proxy。

進行 Edge 新手上路流程時,您必須建立機構、環境和虛擬主機。Edge 提供 setup-org 指令,可讓新使用者更輕鬆地進行這項程序。

建立虛擬主機時,必須指定下列資訊:

  • 您在 API Proxy 中用來參照該虛擬主機的名稱
  • 虛擬主機路由器上的通訊埠。一般來說,這些通訊埠是從 9001 開始,並針對每個新的虛擬主機各增加一個。
  • 虛擬主機的主機別名。通常是虛擬主機的 DNS 名稱。

Edge Router 會將傳入要求的 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

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    在這份表單中,你需要在路由器的主機別名中傳遞 IP 位址,

    注意:curl 指令、多數瀏覽器和其他許多公用程式都會自動將主機標頭附加在要求中的網域,因此您可以在以下表單中使用 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.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 Router 可存取 /etc/rc.d/init.d/functions

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

例如,如要重新啟動邊緣路由器:

/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

元件的完整動作清單取決於元件本身,但所有元件都支援下列動作:

  • 啟動、停止、重新啟動
  • 狀態、版本
  • 備份、還原
  • 安裝、解除安裝

存取記錄檔

apigee-setupsetup.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 目錄中的所有檔案。

在本指南和「邊緣作業指南」中,根目錄安裝目錄註明為:

<inst_root>/apigee

安裝作業會使用下列檔案系統結構,部署 Private Cloud 適用的 Apigee Edge。

記錄檔

元件

位置

管理伺服器

<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

克皮德

<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

克皮德

<data_root>/apigee/data/apigee-qpid/data

PostgreSQL 資料庫

<data_root>/apigee/data/apigee-postgres/pgdata