容器化部署 OpenResty Edge 指南
您可以跟隨以下步驟,在容器環境中使用 OpenResty Edge。 但我們不建議作為生產環境使用,如需搭建生產環境,請參考《安裝 OpenResty Edge》和《在 Kubernetes 環境中部署 OpenResty Edge》。
1. 準備
安裝前您需要進行以下準備:
為所有 OpenResty Edge 元件規劃 IP 地址:
- OpenResty Edge Admin Database:下文配置中用
OREDGE_ADMIN_DB_HOST表示,示例:172.17.0.2。 - OpenResty Edge Log Server Database:下文配置中用
OREDGE_LOG_SERVER_DB_HOST表示,示例:172.17.0.3。 - OpenResty Edge Log Server:下文配置中用
OREDGE_LOG_SERVER_HOST表示,示例:172.17.0.4。 - OpenResty Edge Admin:下文配置中用
OREDGE_ADMIN_HOST表示,示例:172.17.0.5。 - OpenResty Edge Node:下文配置中用
OREDGE_NODE_HOST表示,示例:172.17.0.6。
- OpenResty Edge Admin Database:下文配置中用
從交付郵件中獲取:
- 映象版本,下文配置中用
OREDGE_IMAGE_VERSION表示,例如24.9.21-1; - 拉取映象所需的賬號和密碼,下文配置中用
REGISTRY_USERNAME和REGISTRY_PASSWORD表示;
- 映象版本,下文配置中用
在下載中心下載 OpenResty Edge 的配置包:
openresty-edge-VERSION.tar.gz。
2. 下載映象
登入 Registry
sudo docker login --username=REGISTRY_USERNAME registry.openresty.com # 輸入密碼:REGISTRY_PASSWORD下載映象(請替換其中的 OREDGE_IMAGE_VERSION 為實際版本號,例如
24.9.21-1)# OpenResty Edge Admin Database 的映象 docker pull registry.openresty.com/edge/rocky/8/openresty-edge-admin-db:OREDGE_IMAGE_VERSION # OpenResty Edge Log Server Database 的映象 docker pull registry.openresty.com/edge/rocky/8/openresty-edge-log-server-db:OREDGE_IMAGE_VERSION # OpenResty Edge Log Server 的映象 docker pull registry.openresty.com/edge/rocky/8/openresty-edge-log-server:OREDGE_IMAGE_VERSION # OpenResty Edge Admin 的映象 docker pull registry.openresty.com/edge/rocky/8/openresty-edge-admin:OREDGE_IMAGE_VERSION # OpenResty Edge Node 的映象 docker pull registry.openresty.com/edge/rocky/8/openresty-edge-node:OREDGE_IMAGE_VERSION
3. 安裝 OpenResty Edge Admin Database
在宿主機新建掛載到容器中的資料夾,後續配置中用
OREDGE_ADMIN_DB_PATH表示,例如/root/oredge-admin-db/postgres12/獲取用於初始化 Edge Admin 的密碼
DEFAULT_EDGE_PWD和DEFAULT_EDGE_ENC_PWD# 解壓 openresty edge 配置包 tar xf openresty-edge-VERSION.tar.gz # 進入解壓後的目錄 cd openresty-edge-VERSION # 獲取 DEFAULT_EDGE_PWD grep -rs 'DEFAULT_EDGE_PWD=' | head -n 1 | awk -F "'" '{print $2}' # 獲取 DEFAULT_EDGE_ENC_PWD grep -rs 'DEFAULT_EDGE_ENC_PWD=' | head -n 1 | awk -F "'" '{print $2}'啟動容器
docker run -d --name openresty-edge-admin-database \
--ip OREDGE_ADMIN_HOST \
-e 'POSTGRES_DB=or_edge_admin' \
-e 'POSTGRES_USER=or_edge_admin' \
-e 'PGUSER=or_edge_admin' \
-e 'POSTGRES_HOST_AUTH_METHOD=trust' \
-e 'POSTGRES_CONF_ENABLE_TIMESCALE=true' \
-e 'EDGE_ADMIN_INIT_PASSWORD=DEFAULT_EDGE_PWD' \
-e 'EDGE_ADMIN_INIT_ENCODED_PASSWORD=DEFAULT_EDGE_ENC_PWD' \
-v OREDGE_ADMIN_DB_PATH:/var/postgres12/ \
registry.openresty.com/edge/rocky/8/openresty-edge-admin-db:OREDGE_IMAGE_VERSION
請替換命令中的 OREDGE_ADMIN_HOST、OREDGE_ADMIN_DB_PATH、DEFAULT_EDGE_PWD、DEFAULT_EDGE_ENC_PWD 和 OREDGE_IMAGE_VERSION 為實際的值。
4. 安裝 OpenResty Edge Log Server Database
在宿主機新建掛載到容器中的資料夾,後續配置中用
OREDGE_LOG_SERVER_DB_PATH表示,例如/root/oredge-log-server-db/postgres12/啟動容器(請替換其中的 OREDGE_IMAGE_VERSION 為實際版本號,例如
24.9.21-1)
docker run -d --name openresty-edge-log-server-database \
--ip OREDGE_LOG_SERVER_HOST \
-e 'POSTGRES_DB=or_edge_log_server' \
-e 'POSTGRES_USER=or_edge_log_server' \
-e 'PGUSER=or_edge_log_server' \
-e 'POSTGRES_HOST_AUTH_METHOD=trust' \
-e 'POSTGRES_CONF_ENABLE_TIMESCALE=true' \
-v OREDGE_LOG_SERVER_DB_PATH:/var/postgres12/ \
registry.openresty.com/edge/rocky/8/openresty-edge-log-server-db:OREDGE_IMAGE_VERSION
請替換命令中的 OREDGE_LOG_SERVER_HOST、OREDGE_LOG_SERVER_DB_PATH 和 OREDGE_IMAGE_VERSION 為實際的值。
5. 啟動 OpenResty Edge Log Server 容器
在宿主機新建掛載到容器中的資料夾,後續配置中用
OREDGE_LOG_SERVER_CUSTOM_PATH表示,例如/root/oredge-log-server/custom/複製
openresty-edge-VERSION.tar.gz到/root/oredge-log-server/custom/生成 Edge Node 的配置檔案
/root/oredge-log-server/custom/config.ini:(請替換配置中的OREDGE_LOG_SERVER_DB_HOST成實際的值)
[postgresql]
host = "OREDGE_LOG_SERVER_DB_HOST"
- 啟動容器(請替換其中的 OREDGE_IMAGE_VERSION 為實際版本號,例如
24.9.21-1)
docker run -d --name openresty-edge-log-server \
--ip OREDGE_LOG_SERVER_HOST \
-v OREDGE_LOG_SERVER_CUSTOM_PATH:/usr/local/oredge-log-server/custom/ \
registry.openresty.com/edge/rocky/8/openresty-edge-log-server:OREDGE_IMAGE_VERSION
5. 啟動 OpenResty Edge Admin 容器
在宿主機新建掛載到容器中的資料夾,後續配置中用
OREDGE_ADMIN_CUSTOM_PATH表示,例如/root/oredge-admin/custom/複製
openresty-edge-VERSION.tar.gz到/root/oredge-admin/custom/生成 Edge Node 的配置檔案
/root/oredge-admin/custom/config.ini:(請替換配置中的OREDGE_ADMIN_DB_HOST、OREDGE_LOG_SERVER_HOST成實際的值)
[postgresql]
host = "OREDGE_ADMIN_DB_HOST"
[log_server]
host = "OREDGE_LOG_SERVER_HOST"
- 配置 SSL 證書及秘鑰(可選)
複製證書及秘鑰到 /root/oredge-admin/custom/ 目錄中,名稱分別為 ssl.key 和 ssl.crt。
- 啟動容器(請替換其中的 OREDGE_IMAGE_VERSION 為實際版本號,例如
24.9.21-1)
docker run -d -p 443:443 --name openresty-edge-admin \
--ip OREDGE_ADMIN_HOST \
-v OREDGE_ADMIN_CUSTOM_PATH:/usr/local/oredge-admin/custom/ \
registry.openresty.com/edge/rocky/8/openresty-edge-admin:OREDGE_IMAGE_VERSION
6. 啟動 OpenResty Edge Node 容器
在宿主機新建掛載到容器中的資料夾,後續配置中用
OREDGE_NODE_CUSTOM_PATH表示,例如/root/oredge-node/custom/複製
openresty-edge-VERSION.tar.gz到/root/oredge-node/custom/生成 Edge Node 的配置檔案
/root/oredge-node/custom/config.ini:(請替換配置中的OREDGE_ADMIN_HOST、OREDGE_LOG_SERVER_HOST成實際的值)
[admin]
host = "OREDGE_ADMIN_HOST"
port = 12345
[log_server]
endpoints = "https://OREDGE_LOG_SERVER_HOST:12346"
- 啟動容器(請替換其中的 OREDGE_IMAGE_VERSION 為實際版本號,例如
24.9.21-1)
如果您希望在容器被銷燬後,新容器可以繼承舊容器的配置,可以把資料目錄也掛載出來,後續配置中用 OREDGE_NODE_DATA_PATH 表示,假設為 /root/oredge-node/data/。
docker run -d -p 80:80 -p 443:443 --name openresty-edge-node \
--ip OREDGE_NODE_HOST \
-v OREDGE_NODE_CUSTOM_PATH:/usr/local/oredge-node/custom/ \
-v OREDGE_NODE_DATA_PATH:/usr/local/oredge-node/data/ \
registry.openresty.com/edge/rocky/8/openresty-edge-node:OREDGE_IMAGE_VERSION
7. 獲取登入 OpenResty Edge Admin 控制檯的賬號資訊
```bash
# 解壓 openresty edge 配置包
tar xf openresty-edge-VERSION.tar.gz
# 進入解壓後的目錄
cd openresty-edge-VERSION
# 獲取登入資訊
bash openresty-edge-installer.sh -a get -c default-info
```
8. 開始使用
登入 Edge Admin 網站:
網址:
https://OREDGE_ADMIN_HOST如果您正在試用 Edge,則 Edge Admin 的 URL 和賬號密碼將隨試用郵件傳送。
對於試用版,Edge Admin 是部署在我們的機器上,而對於未來購買的正式版,我們會提供安裝包供自主部署。
登入進去之後,進入“閘道器叢集”選項卡(或者 Gateway Clusters 選項卡,取決於你當前介面語言的設定)。 在那裡你會看到新部署的節點發的“加入請求”。你根據“加入請求”中的資訊,確認是你自己的節點之後,再點 Approve。 Approve 的過程即是將新節點加入某一個閘道器叢集的過程。因此在 Approve 之前你需要先在介面上建立一個“叢集”,然後 Approve 時就可以選擇了。
更多:
有問題請與我們隨時溝通!