離線安裝 OpenResty Edge

1. 架構說明

OpenResty Edge 主要包含三個角色(OpenResty Edge Admin,OpenResty Edge Log Server, OpenResty Edge Node),三者的關係如下圖:

  • OpenResty Edge Admin:簡稱 Edge Admin,用於控制管理 OpenResty Edge Node。

  • OpenResty Edge Log Server:簡稱 Log Server,用於指標,日誌的儲存和檢視。

  • OpenResty Edge Node:簡稱 Edge Node,是具體的閘道器伺服器,承載使用者流量。

此外還包含兩個資料儲存角色:

  • OpenResty Edge Admin Database:簡稱 Edge Admin Database,是 Edge Admin 所使用的資料庫,用於持久化 Edge Node 的配置。

  • OpenResty Edge Log Server Database:簡稱 Log Server Database,是 Log Server 所使用的資料庫,用於持久化 Edge Node 的指標和日誌資料。

2. 配置推薦

正式環境安裝 OpenResty Edge 至少需要三臺機器,分別安裝 Edge Admin,Log Server 和 Edge Node 元件。

如果是測試環境,Edge Admin 和 Log Server 也可以安裝在同一臺機器上,以節省機器資源。

對於規模在 10 個節點以內的 OpenResty Edge 叢集,我們推薦:

  • Edge Admin:至少使用 4 核處理器,16G 記憶體以及 200G SSD 硬碟的機器。

  • Log Server:至少使用 4 核處理器,16G 記憶體以及 200G SSD 硬碟的機器。

  • Edge Node:相對靈活,取決於業務量,大致是 1 個處理器核心搭配 2G 記憶體,越大越好。比如 8 核 16 GB 記憶體,200G 硬碟。

如果是超過 10 個節點的叢集,需要根據實際場景升級配置,如果是更大規模的叢集,還可以將 Edge Admin Database 和 Log Server Database 部署到單獨的機器,如下圖所示:

3. 安裝流程

我們會訪問如下公網地址,如果貴司有網路出口防火牆的話,需要開啟如下白名單:

openresty.com 443
openresty.org 443
pkg.openresty.com 443
api.openresty.com 443

3.1 獲取離線包

請使用郵箱在 OpenResty 下載中心 登入並下載:

  • OpenResty-Edge-Offline-VERSION.tar.gz:統一提供的 OpenResty Edge 軟體包。
  • openresty-edge-VERSION.tar.gz:使用者獨立的配置包。
tar xf OpenResty-Edge-Offline-VERSION.tar.gz
tar xf openresty-edge-VERSION.tar.gz

OpenResty-Edge-Offline-VERSION.tar.gz 會包含以下內容:

  • openresty-postgresql12.tar.gz
  • openresty-postgresql.tar.gz,僅升級時使用
  • openresty-edge-admin.tar.gz
  • openresty-edge-node.tar.gz
  • openresty-edge-log-server.tar.gz
  • update-admin-db.sh,僅升級時使用
  • update-log-server-db.sh,僅升級時使用
  • init-admin-db.sh,僅安裝時使用
  • init-log-server-db.sh,僅安裝時使用

openresty-edge-VERSION.tar.gz 會包含以下內容:

  • openresty-edge-config-VERSION.deb:ubuntu/debian 等系統使用的配置包。
  • openresty-edge-config-VERSION.rpm:rhel/fedora 等系統使用的配置包。

3.2 資料庫安裝與初始化

內網埠需要開放 5432

  • 安裝並初始化 Edge Admin DB:

    # 把 openresty-postgresql12.tar.gz 傳輸到目標機器
    tar xf openresty-postgresql12.tar.gz
    cd openresty-postgresql12
    
    # 複製 openresty-edge-config 到當前目錄
    # cp /PATH/openresty-edge-config-* ./
    
    # 安裝
    sudo bash install.sh
    
    # 初始化
    # 把 init-log-server-db.sh 傳輸到目標機器
    /bin/bash init-admin-db.sh
    
  • 安裝並初始化 Log Server DB: 如果你正在構建的是生產環境,我們建議在不同的機器上安裝 Edge Admin DB 和 Log Server DB。

    # 把 openresty-postgresql12.tar.gz 傳輸到目標機器
    tar xf openresty-postgresql12.tar.gz
    cd openresty-postgresql12
    
    # 複製 openresty-edge-config 到當前目錄
    # cp /PATH/openresty-edge-config-* ./
    
    # 安裝
    sudo bash install.sh
    
    # 初始化
    # 把 init-log-server-db.sh 傳輸到目標機器
    /bin/bash init-log-server-db.sh
    

3.3 Edge Admin Web 安裝

需要開放 44312345 兩個埠(443 提供管理後臺,12345 用於與 Edge Node 端通訊)

  • 安裝:

    # 把 openresty-edge-admin.tar.gz 傳輸到目標機器
    tar xf openresty-edge-admin.tar.gz
    cd openresty-edge-admin
    
    # 複製 openresty-edge-config 到當前目錄
    # cp /PATH/openresty-edge-config-* ./
    
    # 安裝
    sudo bash install.sh
    
  • 配置證書和私鑰(沒有也可以先跳過):

    /usr/local/oredge-admin/conf/ssl/ssl.crt
    /usr/local/oredge-admin/conf/ssl/ssl.key
    
  • 修改配置:(如果 PostgreSQL, Edge Admin, Log-Server 複用同一個機器,可以直接使用預設配置)

    # 這個檔案後續的升級也不會自動覆蓋,請注意行首不要留空格
    sudo vim /usr/local/oredge-admin/conf/config.ini
    

    需要修改的配置:

    1.對應的 PostgreSQL 地址

    2.Log-Server 地址

  • 重啟服務

    sudo systemctl reload oredge-admin
    

此時 Edge Admin 應該可以正常使用了(我們只開了 HTTPS) https://your-admin.com/

  • 登入賬號:admin

  • 獲取登入密碼:(請在登入成功後,修改密碼)

    grep -rs "password :" init-admin-db.sh
    

3.4 配置兩份 admin-web 服務(可選)

如果希望提高 admin-web 的可用性,可以考慮部署兩份 admin-web 服務,配置為雙主。 步驟是:

  • 按照上面的步驟 3.3 Edge Admin Web 安裝 再安裝一套 admin-web 軟體

  • 修改配置

    # 這個檔案後續的升級也不會自動覆蓋,請注意行首不要留空格
    sudo vim /usr/local/oredge-admin/conf/config.ini
    

    需要修改 clone_admin 下的 host 欄位,每個 admin-web 配置另外一個 admin-web 服務的地址。

    修改後重啟 admin-web 服務,此時兩個 admin-web 服務是雙主模式,訪問任意一個 admin-web 都是一樣的效果。

3.5 Log-Server 安裝

需要開放 123468089 兩個埠(12346 用於與 Edge Node 端通訊,8089 用於與 Edge Admin 通訊)

  • 安裝:

    # 把 openresty-edge-log-server.tar.gz 傳輸到目標機器
    tar xf openresty-edge-log-server.tar.gz
    cd openresty-edge-log-server
    
    # 複製 openresty-edge-config 到當前目錄
    # cp /PATH/openresty-edge-config-* ./
    
    # 安裝
    sudo bash install.sh
    
  • 修改配置:(如果 PostgreSQL, Edge Admin, Log-Server 複用同一個機器,可以直接使用預設配置)

    # 這個檔案後續的升級也不會自動覆蓋,請注意行首不要留空格
    sudo vim /usr/local/oredge-log-server/conf/config.ini
    

    需要修改的配置:

    1.對應的 PostgreSQL 地址

    2.Edge Admin 地址

  • 重啟服務

    sudo systemctl reload oredge-log-server
    
  • 此時在 Edge Admin 的【控制面板】-【-日誌】下應該能獲取到日誌。

3.6 Edge Node 安裝

  • 安裝:

    # 把 openresty-edge-node.tar.gz 傳輸到目標機器
    tar xf openresty-edge-node.tar.gz
    cd openresty-edge-node
    
    # 複製 openresty-edge-config 到當前目錄
    # cp /PATH/openresty-edge-config-* ./
    
    # 安裝
    sudo bash install.sh
    
  • 修改配置:

    # 這個檔案後續的升級也不會自動覆蓋,請注意行首不要留空格
    sudo vim /usr/local/oredge-node/conf/config.ini
    

    需要修改的配置:

    1.Edge Admin 地址

    2.Log-Server 地址

    如果配置了雙主 admin-web 服務,可以配置 admin 段下的 host2 欄位。 node 會隨機使用 hosthost2(與配置順序無關),並且當某一個 admin-web 宕機的時候,會自動切換到另外一個 admin-web 服務。

  • 重啟服務

    sudo systemctl reload oredge-node
    

至此全套的 OpenResty Edge 已經搭建完畢。

4. 資料庫備份以及高可用

我們提供了兩種方式(資料庫備份,資料庫高可用)來保證資料安全,在資料庫損壞之後可以利用備份檔案或者從庫恢復資料。我們強烈建議兩種方式都採用,最大限度保障資料安全。

資料庫備份

資料庫高可用

5. 開始使用

我們提供有線上的文件, 還有相關部落格對應影片

有問題請與我們隨時溝通!