deploy
|
|___ templates
| |___ config.toml
| |___ genesis.json
| |___ default.db-options
|___ ansible.cfg
|___ build.yml
|___ config.yml
|___ deploy.yml
|___ hosts
|___ Makefile
|___ node_priv_key.yml
该目录放置axon 启动的配置文件,与 nervosnetwork/axon 下的同名文件保持一致
私钥替换
修改私钥为 #private_key 后续部署脚本会根据配置替换
p2p boot 节点替换
替换 boot ip 为 #bootstraps, 后续部署脚本会根据配置哦替换
创世块配置,与 axon genesis_multi_nodes.json 配置保持一致
RocksDB 默认配置文件, 这个文件需要和 config.toml 在一个目录。
默认在 config 目录搜,如果不存在就 default。
该配置文件保持与nervosnetwork/axon 下同名文件保持一致
ansible 配置文件
# ansible inventory 文件路径,指定为同目录下的 hosts 文件
inventory = hosts
# false,关闭第一次使用 ansible 连接客户端是输入命令提示
host_key_checking:False
ansible 部署axon 节点的host list
[axon]
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
Register private key.
key 是部署节点的 hostname,value 来自 devtools/chain/nodes 的 node_*.toml 中的 privkey
xxx.xxx.xxx.xxx: "0x21716c9844c7e0548b62c5a0720923c70ca74d92278a217ff2b23699d6888110"
xxx.xxx.xxx.xxx: "0x249b518f72f8e40d994796c68529c7348bafa58ede900be9840c48c7e1e38434"
xxx.xxx.xxx.xxx: "0xd77ca0ba1c280bbd62409af4aec68560c913a1a8794d33317e8344969eb43265"
xxx.xxx.xxx.xxx: "0x3f37a142b0d5339da9dd4c16deda3d326b05d82c16f8ab68db41f6774ebda1d1"
ansible 部署axon时所需的axon的配置文件
# 部署axon 时目标机器存放axon的位置
deploy_path: "/home/ckb/axon"
# axon code repo
axon_repo: "https://github.com/nervosnetwork/axon.git"
# build axon 指定的 branch、tag 等
axon_branch: "main"
# 任意一个节点的ip
bootstraps: "xxx.xxx.xxx.xxx"
# mercury 的节点 ip, 当前版本不用
mercury_uri: "http://127.0.0.1"
# 开启跨链的开关, 当前版本不用
enable_cross_client: "false"
enable_profile: "false"
enable_profile_debug: "false"
# jemalloc 用来分析内存,生成jemalloc 分析文件
enable_jemalloc: "false"
ansible tasks,用于 build axon 的所有任务,包括pull code,build axon
ansible tasks,用于deploy axon 的所有任务,包括copy axon 相关文件到目标机器,配置,启动和停止axon服务
copy axon-devops 目录到指定机器上
$ git clone https://github.com/nervosnetwork/axon-devops
$ cd axon-devops/deploy
按照上述 deploy 详解文档描述修改以下文件
- config.yml
- hosts
- node_priv_key.yml
之后使用 make 命令 启动/停止服务
$ cd axon-devops/deploy
$ make clean # 停止axon 服务并清理数据
$ make deploy # build axon 并启动axon服务
检查 axon 在各个节点的进程是否运行
$ make check
其余命令
$ make start # 启动 axon
$ make stop # 停止 axon
$ make build # 构建 axon