Edge 安裝作業總覽

Private Cloud v. 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 元件 節點。
  • 在 Management Server 節點上,使用 apigee-setup 公用程式安裝 Apigee-provision 包括用於建立及管理 Edge 機構的公用程式。
    詳情請參閱為機構加入一文。

處理安裝失敗

如果系統在安裝 Edge 元件期間失敗時,您可以嘗試 然後重新執行安裝程式。安裝程式必須在 或稍後您想變更或更新元件時 安裝。

設定 Postgres 主要執行個體待機 複製

根據預設,Edge 會在主模式中安裝所有 Postgres 節點。但在實際工作環境系統中 有多個 Postgres 節點,請將節點設為使用主要執行個體待命複製功能,如果 主要節點故障,待命節點可以繼續提供流量。請參閱「設定 Postgres 的主要待命複製功能」一文 瞭解詳情。

可執行安裝的使用者

Apigee Edge 發布檔案會安裝為一組 RPM 和依附元件。目的地: 安裝、解除安裝及更新 Edge,Edge 指令必須由超級使用者或由使用者執行 授予完整的 sudo 存取權如需完整的 sudo 存取權,則使用者有權執行 sudo 存取權 與根層級相同的作業

使用者必須是 root 或代表使用者,才能執行下列命令或指令碼 擁有完整 sudo 存取權:

  • apigee-service 公用程式:
    • apigee-service 指令:安裝、解除安裝、更新
    • apigee-all 指令:install、install、update
  • setup.sh 指令碼安裝 Edge 元件 (除非已使用 「apigee-service install」到 安裝所需的 RPM然後,如果不需要,請授予 Root 權限或完整 sudo 存取權)。
  • update.sh 指令碼:更新 Edge 元件

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

除了上述指令以外,如果使用者想執行其他所有指令,則必須是 kubectl 的完整 sudo 存取權內容。這些指令包括:

  • apigee-service 公用程式指令,包括:
    • apigee-service 指令,例如 start、停止、重新啟動、設定等。
    • apigee-all 指令,例如 start、停止、重新啟動、設定

設定使用者俱備「apigee」的完整 sudo 存取權請編輯 sudoers 檔案 新增:

installUser        ALL=(apigee)      NOPASSWD: ALL

其中 installUser 是指負責人員的使用者名稱 邊緣

Edge 指令使用的任何檔案或資源都必須能存取「apigee」內容。這個 包括 Edge 授權檔案和任何設定檔

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

  1. 以任何使用者身分在編輯器中建立檔案。
  2. 擁有檔案的擁有者為「apigee:apigee」或者,如果您已變更執行 Edge 的使用者帳戶 透過「 Apigee」模式將檔案交給執行 Edge 的使用者 課程中也會快速介紹 Memorystore 這是 Google Cloud 的全代管 Redis 服務

安裝設定位置 檔案

您必須將設定檔傳送至 apigee-setup 公用程式,該公用程式會包含 有關 Edge 安裝的資訊在無訊息的情況下安裝的唯一規定是 設定檔必須可由「apigee」存取或讀取內容。例如,將 /usr/local/var/usr/local/share 目錄 並將其指定為「apigee:apigee」。

除了 Edge 系統以外,設定檔中的所有資訊皆為必填 管理員的密碼。如果您省略密碼,apigee-setup 公用程式會提示您輸入該密碼 建立虛擬機器

請參閱在節點上安裝 Edge 元件: 內容。

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

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

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

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

    沒有外部網際網路連線的節點可存取鏡像版本的 Apigee 設定專屬於您的內部存放區這個存放區包含所有邊緣 RPM,但你必須 請確保您可以在內部 更是如此

    注意:Apigee 不會將所有第三方依附元件託管於我們的公用事業 與存放區您必須透過可公開存取的依附元件下載及安裝這些依附元件 與存放區

解決 RPM 安裝依附元件

Apigee Edge 發行版檔案會安裝為一組 RPM 檔案,每個 RPM 檔案都有 自己的安裝依附元件鏈結許多依附元件是由第三方定義 不受 Apigee 控制的元件,而且隨時可能變更。因此, 說明文件不會列出每個依附元件的明確版本號碼。

如果您在可連上網際網路的電腦上執行安裝作業,該節點可以 所需的千次曝光收益和依附元件不過,如果您是從沒有網際網路的節點進行安裝 通常會設定一個內部存放區,其中含有所有必要的依附元件。唯一的方法 可以確保本機存放區包含所有依附元件,目的是嘗試安裝、 找出任何缺少的依附元件,並將這些依附元件複製到本機存放區,直到安裝為止 成功。

設定虛擬主機

Edge 上的虛擬主機會定義 API Proxy 的網域和 Edge Router 通訊埠 公開,以及應用程式用來存取 API Proxy 的網址。還有一個虛擬主機 定義要透過 HTTP 通訊協定或加密 HTTPS 存取 API Proxy 因此效能相當卓越

做為 Edge 新手上路流程的一部分,您必須建立機構、環境和 虛擬主機Edge 提供 setup-org 指令,可簡化這項程序 吸引新使用者

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

  • 您在 API 中用來參照虛擬主機的名稱 Proxy 執行要求。
  • 虛擬主機的路由器通訊埠。一般來說,這些通訊埠的初始狀態 並為每個新的虛擬主機遞增一個。
  • 虛擬主機的主機別名。通常是虛擬機器的 DNS 名稱 主機。

Edge Router 會將傳入要求的「主機」標頭和 可用主機別名的清單,用於判定處理要求的 API Proxy。 透過虛擬主機提出要求時,請指定與主機相符的網域名稱 或指定路由器的 IP 位址,以及包含主機別名的 Host 標頭。

舉例來說,如果您建立了虛擬主機,其主機別名為 myapis.apigee.net 9001,那麼透過該虛擬主機向 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 「主機:myapis.apigee.net」

    請在這份表單中指定 IP 位址 並在主機標頭中傳遞主機別名,

    注意:curl 指令、大部分瀏覽器和許多其他公用程式都會自動使用 將 Host 標頭附加到要求的一部分,這樣您就可以使用 curl 指令:


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

以下介紹的選項 沒有虛擬主機的 DNS 項目

如果沒有 DNS 項目,其中一個選項是將主機別名設為 虛擬主機的路由器和通訊埠,例如 <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 時,命名空間中的 .properties 檔案, /opt/apigee/customer/application 已讀取到目錄也就是說,更新會保留您對元件設定的所有屬性。

詳情請參閱如何設定 Edge 邊緣設定

確保 Edge Router 可以 存取 /etc/rc.d/init.d/functions

Edge Router 這個 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 - 第三方 元件。例如 apigee-cassandra
  • edge - Edge 元件 。例如 edge-management-server
  • 邊緣警告 - 營利 元件。例如 edge-mint-management-server
  • baas - API BaaS 元件。例如 baas-usergrid

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

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

存取記錄檔

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 Operations Guide 中,根安裝目錄會註明 為:

<inst_root>/apigee

這項安裝作業會使用以下檔案系統結構來部署私人的 Apigee Edge Cloud 上精進自己的技能。

記錄檔

元件

位置

管理伺服器

&lt;inst_root&gt;/apigee/var/log/edge-management-server

路由器

&lt;inst_root&gt;/apigee/var/log/edge-router

訊息處理器

&lt;inst_root&gt;/apigee/var/log/edge-message-processor

Apigee Qpid 伺服器

&lt;inst_root&gt;/apigee/var/log/edge-qpid-server

Apigee Postgres 伺服器

&lt;inst_root&gt;/apigee/var/log/edge-postgres-server

Edge UI

&lt;inst_root&gt;/apigee/var/log/edge-ui

ZooKeeper

&lt;inst_root&gt;/apigee/var/log/apigee-zookeeper

OpenLDAP

&lt;inst_root&gt;/apigee/var/log/apigee-openldap

Cassandra

&lt;inst_root&gt;/apigee/var/log/apigee-cassandra

Qpidd

&lt;inst_root&gt;/apigee/var/log/apigee-qpidd

PostgreSQL 資料庫

&lt;inst_root&gt;/apigee/var/log/apigee-postgresql

資料

元件

位置

管理伺服器

&lt;data_root&gt;/apigee/data/edge-management-server

路由器

&lt;data_root&gt;/apigee/data/edge-router

訊息處理器

&lt;data_root&gt;/apigee/data/edge-message-processor

Apigee Qpid 代理程式

&lt;data_root&gt;/apigee/data/edge-qpid-server

Apigee Postgres 代理程式

&lt;data_root&gt;/apigee/data/edge-postgres-server

ZooKeeper

&lt;data_root&gt;/apigee/data/apigee-zookeeper

OpenLDAP

&lt;data_root&gt;/apigee/data/apigee-openldap

Cassandra

&lt;data_root&gt;/apigee/data/apigee-cassandra/data

Qpidd

&lt;data_root&gt;/apigee/data/apigee-qpid/data

PostgreSQL 資料庫

&lt;data_root&gt;/apigee/data/apigee-postgres/pgdata