diff --git a/README.md b/README.md index e2a2ff1..250c35f 100644 --- a/README.md +++ b/README.md @@ -23,43 +23,50 @@ chmod +x goedge_add_node.sh --clusterid 2 \ --name "测试节点" \ --grantid 5 \ - --api-host https://api.randallanjie.com + --http-api https://api.randallanjie.com \ + --api-host https://rpc1.randallanjie.com https://rpc2.randallanjie.com ``` +- --http-api:必填,脚本本身通过此地址与后端进行 HTTP 调用 +- --api-host:可多填,用于节点自身的 rpc.endpoints 配置写入 api_node.yaml。节点启动后将自行与这些 RPC 地址通信 +若需要使用后端 WebAPI 来安装 edge-node,可在以上命令后面加上 --webinstall,即: +```bash +./goedge_add_node.sh ... --webinstall +``` +这样脚本会跳过本地解压步骤,直接调用后端 /NodeService/installNode。 ## 参数说明 -| 参数名 | 必填 | 说明 | 示例 | -| ----------- | ---- | ---------------------------------------------------------------- | --------------------------------------- | -| --acid | 是 | Access Key ID | --acid 12345 | -| --ackey | 是 | Access Key | --ackey 1234567890 | -| --clusterid | 是 | 节点所属的集群 ID | --clusterid 2 | -| --grantid | 否 | SSH 的 grantId,用于 nodeLogin.params;默认 1 | --grantid 5 | -| --name | 否 | 节点名称,若不指定则自动使用「<本机IPv4>(YYYY-MM-DD)」格式 | --name MyNode | -| --groupid | 否 | 节点分组 ID(默认 0) | --groupid 3 | -| --regionid | 否 | 节点区域 ID(默认 0) | --regionid 1 | -| --dnsroutes | 否 | 节点 DNS 线路,以空格分隔 | --dnsroutes "routeA routeB" | -| --api-host | 否 | 指定后端 API 地址。若与默认不符可在此指定 | --api-host https://api.randallanjie.com | +| **参数名** | **是否必填** | **说明** | **示例** | +|:-----------:|:--------:|:--------------------------------------------------------------------------------:|:--------------------------------------------:| +| --acid | 是 | Access Key ID | --acid 12345 | +| --ackey | 是 | Access Key | --ackey 1234567890 | +| --clusterid | 是 | 节点所属的集群 ID | --clusterid 2 | +| --http-api | 是 | 脚本本身调用HTTP接口时使用的主地址 | --http-api https://api.randallanjie.com | +| --api-host | 否 | 节点自身 RPC endpoints 配置,可多填,用空格分隔,写入 rpc.endpoints (如 --api-host https://rpc1 ...) | --api-host https://rpc1 ... https://rpc2 ... | +| --grantid | 否 | SSH 的 grantId,用于 nodeLogin.params;默认 1 | --grantid 5 | +| --name | 否 | 节点名称,若不指定则自动使用「<本机IPv4>(YYYY-MM-DD)」格式 | --name MyNode | + ## 特性 - 自动安装依赖 -如 curl, jq, base64 等命令不存在,脚本会自动尝试通过 apt-get / yum / dnf / zypper 安装它们 +如 curl, jq, base64, unzip 等命令不存在,脚本会自动尝试通过 apt-get / yum / dnf / zypper / apk 安装它们(Alpine适配)。 - Base64 编码 -脚本会自动对 nodeLogin.params 中的 JSON 内容进行 Base64 编码,以适配 GoEdge 后端对 bytes 字段的要求 +脚本会自动对 nodeLogin.params 中的 JSON 内容进行 Base64 编码,以适配 GoEdge 后端对 bytes 字段的要求。 - 自动命名 -当不指定 --name 时,脚本会自动以 “本机IPv4 + 当前时间” 组合作为节点名称 +当不指定 --name 时,脚本会自动以 “本机IPv4 + 当前日期” 组合作为节点名称。 -- grantId 参数 -可通过 --grantid 设定,默认为 1 +- 多地址支持 +可通过 --api-host 传多个 RPC 地址(用空格分隔),写入节点配置文件 api_node.yaml。 - 一站式调用 本脚本包含创建节点、批量添加 IP、安装节点等操作,一次执行完成 ## 适用环境 -- Linux 发行版:如 Ubuntu、Debian、CentOS、Rocky Linux、Alma Linux、OpenSUSE 等 +- Linux 发行版:如 Ubuntu、Debian、CentOS、Rocky Linux、Alma Linux、OpenSUSE、Alpine 等 - Shell:需要常见的 Bash 环境 -- 依赖命令:curl, jq, base64。脚本里已实现自动安装逻辑,但需具备相应的包管理器 +- 依赖命令:curl, jq, base64, unzip。脚本中已实现自动安装逻辑,但需具备相应的包管理器(apt-get, yum, dnf, zypper 或 apk)