Edge 安裝作業總覽

私有雲 v4.18.05 的邊緣

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

安裝程序

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

  1. 在節點上停用 SELinux,或將其設為寬鬆模式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
  2. 決定是否要啟用 Cassandra 驗證。
  3. 決定是否要為 Postgres 設定主要執行個體待命複製。
  4. 從建議的拓撲清單中選取您的 Edge 設定。例如在 13 個節點上安裝 Edge 以進行測試,也可以將 Edge 安裝在 13 個節點上。詳情請參閱安裝拓撲
  5. 在所選拓撲中的每個節點上,安裝 Edge apigee-setup 公用程式:
    • 將 Edge bootstrap_4.18.05.sh 檔案下載至 /tmp/bootstrap_4.18.05.sh
    • 安裝 Edge apigee-service 公用程式和依附元件。
    • 安裝 Edge apigee-setup 公用程式和依附元件。

      詳情請參閱「安裝 Edge apigee-setup 公用程式」。

  6. 使用 apigee-setup 公用程式,依據您選取的拓撲,在每個節點上安裝一或多個 Edge 元件。

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

  7. 在管理伺服器節點中,使用 apigee-setup 公用程式安裝「apigee-provision」,也就是您用來建立及管理 Edge 機構的公用程式。

    詳情請參閱「讓機構加入」。

  8. 安裝完成後,重新啟動 Edge UI 元件。

誰可以執行安裝作業

Apigee Edge 發布檔案是以一組 RPM 和依附元件的形式安裝。如要安裝、解除安裝及更新 Edge RPM,這些指令必須由超級使用者或具有完整 sudo 存取權的使用者執行。針對完整的 sudo 存取權,這表示使用者擁有 sudo 存取權,可與 root 執行相同的作業。

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

  • apigee-service 公用程式:
    • apigee-service 指令:install, uninstall, update
    • apigee-all 指令:install, uninstall, update
  • 用於安裝 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, configure
    • apigee-all 指令,例如 start, stop, restart, configure

建立對「apigee」使用者擁有完整 sudo 存取權的使用者

如要設定使用者對「apigee」使用者擁有完整的 sudo 存取權,請使用「visudo」指令來編輯 sudoers 檔案,以新增以下項目:

installUser        ALL=(apigee)      NOPASSWD: ALL

其中 installUser 是 Edge 使用的使用者名稱。

設定設定檔的權限

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

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

  1. 以任何使用者的身分在編輯器中建立檔案。
  2. chown 檔案擁有者為「apigee:apigee」,或若變更執行 Edge 服務的使用者,從「apigee」使用者取得檔案給執行 Edge 服務的使用者。

區隔根使用者和非超級使用者之間的 Edge 安裝工作

雖然以 Root 權限或具備完整 sudo 存取權的使用者執行整個 Edge 安裝程序是最簡單的方式,但實際上並非如此。不過,您可以將程序分離為具備「apigee」使用者完整 sudo 存取權的使用者執行的工作。

  1. 由根層級執行的工作:
    1. 下載並執行 bootstrap_4.18.05.sh 檔案:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
      sudo bash /tmp/bootstrap_4.18.05.sh apigeeuser=uName apigeepassword=pWord

      這個步驟會安裝 apigee-service 公用程式,並建立「apigee」使用者。

    2. 按照建立具備「apigee」使用者完整 sudo 存取權的使用者的說明,設定使用者擁有「apigee」使用者的完整 sudo 存取權。
    3. 安裝 apigee-setup 公用程式:
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    4. 使用 apigee-setup 公用程式在節點上安裝 Edge RPM:
      /opt/apigee/apigee-service/bin/apigee-service compName install

      您安裝在節點上的邊緣每千次觀看收益取決於您的拓撲。可用的元件清單包括:apigee-provision, apigee-validate, apigee-zookeeper, apigee-cassandra, apigee-openldap, edge-management-server, edge-ui, edge-router, edge-message-processor, apigee-postgresql, apigee-qpidd, edge-postgres-server, edge-qpid-server

  2. 超級使用者在節點中安裝 Edge RPM 後,具備「apigee」權限的使用者會完成下列設定程序:
    1. 使用 setup.sh 公用程式完成節點上的 Edge 元件設定。指令的形式取決於您安裝在節點上的元件。如需完整清單,請參閱「在節點中安裝 Edge 元件」。

      舉例來說,如要完成 ZooKeeper 和 Cassandra 的安裝,請使用下列指令:

      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile

      其中 configFile 是 Edge 設定檔。

      或者,如要執行全方位安裝,請使用下列指令:

      /opt/apigee/apigee-setup/bin/setup.sh -p aio -f configFile

安裝設定檔的位置

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

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

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

處理安裝失敗

如果 Edge 元件安裝失敗,您可以嘗試修正問題,然後再次執行安裝程式。安裝程式設計可重複執行,以在偵測到故障時,或是您之後想要在安裝後變更或更新元件時執行。

安裝或升級之後,請務必在每個執行節點的節點上重新啟動 Edge UI 元件。

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

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

  • 使用外部網際網路連線的節點

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

  • 沒有外部網際網路連線的節點

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

    如要建立內部 Apigee 存放區,您必須要求具備外部網際網路存取權的節點,才能下載邊緣 RPM 和依附元件。建立內部存放區後,您可以將其移至其他節點,或是開放邊緣節點存取該節點以進行安裝。

使用本機 Edge 存放區維護 Edge 版本

如上一節所述,使用本機或鏡像存放區的原因之一,就是在沒有外部網際網路連線的節點上安裝 Edge。

解決 RPM 安裝依附元件

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

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

常見的 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 目錄中的所有檔案。

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

/opt/apigee

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

記錄檔

apigee-setupsetup.sh 指令碼的記錄檔會寫入 /tmp/setup-root.log

每個元件的記錄檔都包含在 /opt/apigee/var/log 目錄中。每個元件都有自己的子目錄。例如,管理伺服器的記錄檔位於目錄中:

/opt/apigee/var/log/edge-management-server

下表列出記錄檔的位置:

元件 位置

管理伺服器

/opt/apigee/var/log/edge-management-server

路由器

/opt/apigee/var/log/edge-router

邊緣路由器是以 Nginx 實作。如需其他記錄,請參閱:

/opt/apigee/var/log/edge-router/nginx
/opt/nginx/logs

訊息處理器

/opt/apigee/var/log/edge-message-processor

Apigee Qpid 伺服器

/opt/apigee/var/log/edge-qpid-server
Apigee Postgres 伺服器 /opt/apigee/var/log/edge-postgres-server
Edge UI /opt/apigee/var/log/edge-ui
ZooKeeper /opt/apigee/var/log/apigee-zookeeper
OpenLDAP /opt/apigee/var/log/apigee-openldap
Cassandra /opt/apigee/var/log/apigee-cassandra
克皮德 /opt/apigee/var/log/apigee-qpidd
PostgreSQL 資料庫 /opt/apigee/var/log/apigee-postgresql

資料

元件 位置
管理伺服器 /opt/apigee/data/edge-management-server
路由器 /opt/apigee/data/edge-router
訊息處理器 /opt/apigee/data/edge-message-processor
Apigee Qpid 代理程式 /opt/apigee/data/edge-qpid-server
Apigee Postgres 代理程式 /opt/apigee/data/edge-postgres-server
ZooKeeper /opt/apigee/data/apigee-zookeeper
OpenLDAP /opt/apigee/data/apigee-openldap
Cassandra /opt/apigee/data/apigee-cassandra/data
克皮德 /opt/apigee/data/apigee-qpid/data
PostgreSQL 資料庫 /opt/apigee/data/apigee-postgres/pgdata

安裝後工作

安裝完成後,您可以對 Edge 元件執行其他操作。

重新啟動 Edge UI 元件

安裝完成後,您必須在每個節點上重新啟動 Edge UI 元件:

/opt/apigee/apigee-service/bin/apigee-service edge-ui restart

在安裝後設定 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 元件上的指令

/opt/apigee/apigee-service/bin 的 Edge 安裝管理公用程式,可用來管理 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_name action

其中 component_name 代表元件。元件必須位於您執行 apigee-service 的節點上。視您的設定而定,component_name 的值可能包含:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL 資料庫)
  • apigee-qpidd (魁北克)
  • apigee-sso (邊緣單一登入)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (管理伺服器)
  • edge-management-ui (新版 Edge UI)
  • edge-message-processor (訊息處理器)
  • edge-postgres-server (Postgres 伺服器)
  • edge-qpid-server (快速伺服器)
  • edge-router (邊緣路由器)
  • edge-ui (傳統版 UI)

除了這些元件之外,您也可以依據自己的設定,在 apigee-provisionapigee-validate 元件中叫用 apigee-service

舉例來說,如要重新啟動 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

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

  • start, stop, restart
  • status, version
  • backup, restore
  • install, uninstall

在安裝時啟用系統檢查

Edge 安裝設定檔支援下列屬性:

ENABLE_SYSTEM_CHECK=y

如果將這項屬性設為「y」,安裝程式會檢查系統是否符合所安裝元件的 CPU 和記憶體需求。停用檢查的預設值為「n」。