容器化部署 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 时就可以选择了。
更多:
有问题请与我们随时沟通!