⚠️ 安装前准备
EdgeHit 安装包以 bash 脚本形式托管在 Amazon S3,安装过程主要包括下载和执行该脚本。
执行安装脚本前,必须预先定义以下环境变量和密钥(部分变量提供默认值,若在shell中预先定义则会覆盖默认值):
| 环境变量 | 默认值 |
|---|---|
| DASH_SERVER_DOMAIN | 无(必须指定) |
| REGISTRY_PASSWORD | 无(必须指定) |
| RELEASE_VERSION | 从S3的==__versions==文件查询最新版本 |
| REGISTRY_DOMAIN | hub.docker.com |
| REGISTRY_USERNAME | rootnetworks |
测试环境覆盖
测试环境必须覆盖Docker相关设置,因为测试镜像托管在OCR容器注册表而非默认的Docker Hub。
更多未列出的环境变量请参考安装脚本源码
🏢 生产环境部署
安装流程分为两个阶段:
-
用户下载并执行主脚本:
files.ops2.net/edgehit/prod/EdgeHit-Controller/deploy/install.sh -
脚本自动完成:
- 查询==
__versions==文件确定最新版本(如1.34) - 下载版本化安装脚本:
.../versions/1.34/install.sh - 执行二进制安装和Docker Compose配置
注: 仅需执行第一步,后续流程全自动完成。
补充说明
EdgeHit Controller 同时作为部署控制中心,会为 Load-Proxy 和 Prometheus Server 生成包含随机字符串的部署脚本并注入环境变量。
🧪 测试环境部署
与生产环境流程相同,仅需修改URL中的 /prod 为 /test 。
在安装EdgeHit Controller时,通过修改初始下载URL,后续生成的安装脚本将自动对应测试环境版本:
# 生产环境
bash -c "$(==**`curl`**== -fsSL https://files.ops2.net/edgehit/prod/EdgeHit-Controller/deploy/install.sh)"
# 测试环境
bash -c "$(==**`curl`**== -fsSL https://files.ops2.net/edgehit/test/EdgeHit-Controller/deploy/install.sh)"
除修改URL外,还需覆盖 Docker Registry 和用户名配置。测试环境的镜像托管于不同的容器仓库,使用不同的账户凭证。具体命令如下:
export REGISTRY_DOMAIN="sjc.ocir.io"
export REGISTRY_USERNAME="axq9ho4mugcg/jenkins.development@rootnetworks.com"
其他流程与生产环境完全一致,不再赘述。