k8s-deploy
|
|___ k8s
| |___ axon
| |____axon-config
| |____genesis.json
| |____node_1.toml
| |____node_2.toml
| |____node_3.toml
| |____node_4.toml
| |____axon-chain.yaml
| |____axon1-statefulset.yaml
| |____axon2-statefulset.yaml
| |____axon3-statefulset.yaml
| |____axon4-statefulset.yaml
| |____deploy.sh
| |___ benchmark
| |____configmap
| |____config.json
| |____axon-benchmark.yaml
| |____axon-chain-to-axon-ns.yaml
| |____deploy.sh
| |___ logging
| |fluent
| |deploy.sh
| |____fluentd-configmap.yaml
| |____fluentd-daemonset.yaml
| |___ ingress
| |____axon-ingress.yaml
|___ |___ Makefile
|___ axon
|____axon-config
|____genesis.json
|____node_1.toml
|____node_2.toml
|____node_3.toml
|____node_4.toml
|____axon-chain.yaml
|____axon1-statefulset.yaml
|____axon2-statefulset.yaml
|____axon3-statefulset.yaml
|____axon4-statefulset.yaml
|____deploy.sh
k8s axon node1 部署文件.
k8s axon node2 部署文件.
k8s axon node3 部署文件.
k8s axon node4 部署文件.
创建axon service,做负载,用于benchmark 访问axon
脚本提供部署、清除axon以及axon相关服务 deploy.sh
该目录主要存放 deploy axon时,axon 所需要的配置
axon部署所需的配置文件,与[axonweb3/axon]下的同名文件保持一致。
axon部署所需的配置文件,与[axonweb3/axon]下的同名文件保持一致。
axon部署所需的配置文件,与[axonweb3/axon]下的同名文件保持一致。
axon部署所需的配置文件,与[axonweb3/axon]下的同名文件保持一致。
axon部署所需的配置文件,与[axonweb3/axon]下的同名文件保持一致。
RocksDB 默认配置文件。这个文件需要和 node.toml 在一个目录。默认在 config 目录搜,如果不存在就 axonweb3/axon 下同名文件保持一致
该目录主要存放 k8s axon benchmark 部署文件
k8s axon benchmark 部署文件.
k8s axon benchmark 跨namespace 访问axon 的service 部署文件.
脚本提供部署、清除axon benchmark 以及axon benchmark相关服务 deploy.sh
该目录主要存放 deploy axon benchmark时所需要的配置
axon benchmark部署所需的配置文件
{
"http_endpoint": "http://axon-chain:8000",
# Http address of axon rpc
"private_key" : "0x37aa0f893d05914a4def0460c0a984d3611546cfb26924d7a7ca6e0db9950a2d",
#Private Key
"continuous_benchmark": true,
#Whether to continue benchmark testing
"benchmark_time": 60000,
#When continuous_benchmark is false, the duration of the benchmark test
"batch_size": 150,
#Number of transactions sent per time
"thread_num": 120,
# Number of threads sending transactions
"id": "936501604767629344",
#discord webhook's id(When continuous_benchmark is false, the results are pushed to discord)
"token": "",
#discord webhook's token(When continuous_benchmark is false, the results are pushed to discord)
"benchmark_cases": ["./benchmark", "./contract_benchmark"]
#Use cases for benchmark
}
该目录主要存放fluntd部署文件,用于收集axon node 的logs,并发送到ES。
k8s 部署fluentd 的部署文件.
k8s 部署fluentd 所需要的配置文件
脚本提供部署、清除fluentd 相关服务 deploy.sh
安装 ingress-controller。 参考官方文档ingress
copy axon-devops 目录到指定机器上
$ git clone https://github.com/axonweb3/axon-devops
$ cd axon-devops/k8s-deploy/k8s
按照上述 k8s deploy 详解文档描述确认一下文件是否需要修改
- node_1.toml
- node_2.toml
- node_3.toml
- node_4.toml
- genesis.json
- default.db-options
给 k8s 节点添加标签,node-name 替换为节点名称
kubectl label nodes <node-name> disktype=node1
kubectl label nodes <node-name> disktype=node2
kubectl label nodes <node-name> disktype=node3
kubectl label nodes <node-name> disktype=node4
之后使用 make 命令 启动/停止服务
$ cd axon-devops/k8s-deploy/k8s
$ make axon-clean #停止axon 服务并清理数据
$ make axon-deploy # 启动axon服务
查看axon 是否启动成功。 deploy 时脚本会等2分钟,然后检查pod running 的数量,当不等于4时会提示部署失败,请注意部署时的log。
$ kubectl get pod -n axon
copy axon-devops 目录到指定机器上
$ git clone https://github.com/axonweb3/axon-devops
$ cd axon-devops/k8s-deploy/k8s
按照上述 k8s benchmark deploy 详解文档修改以下文件
- config.json
之后使用 make 命令 启动/停止服务
$ cd axon-devops/k8s-deploy/k8s
$ make benchmark-clean #停止axon benchmark服务并清理数据
$ make benchmark-deploy # 启动axon benchmark服务
查看axon 是否启动成功。 deploy 时脚本会等2分钟,然后检查pod running 的数量,当不等于1时会提示部署失败,请注意部署时的log。
$ kubectl get pod -n axon-benchmark
copy axon-devops 目录到指定机器上
$ git clone https://github.com/axonweb3/axon-devops
$ cd axon-devops/k8s-deploy/k8s
fluentd 按照官方文档安装,用于收集axon 各个节点的日志,并发送到es。 暂时只需要确认config 文件中的es host 和port 是否需要修改
- fluentd-configmap.yaml
之后使用 make 命令 启动/停止服务
$ cd axon-devops/k8s-deploy/k8s
$ make fluentd-clean #停止fluentd服务并清理数据
$ make fluentd-deploy # 启动fluentd服务
查看axon 是否启动成功。 deploy 时脚本会等2分钟,然后检查pod running 的数量,当不等于1时会提示部署失败,请注意部署时的log。
$ kubectl get pod -n logging