可视化部署

可视化部署

可视化部署是指通过 WeBASE 管理平台(WeBASE-Web + WeBASE-Node-Manager),在 多台 主机上快速部署 FISCO-BCOS 底层节点和 WeBASE-Front 前置 以及 对底层节点的扩容操作。

可视化部署,需要先部署依赖服务,包括管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、签名服务(WeBASE-Sign)。

然后通过 WeBASE 管理平台(WeBASE-Web)的界面在填入的主机中部署节点(FISCO-BCOS 2.5.0+,暂未支持FISCO-BCOS 3.0系列)和节点前置子系统(WeBASE-Front 1.4.0)

部署依赖服务

对于依赖服务的安装,有两种方式( 一键部署手动部署 ),选择其中一种部署方式即可

&&&一键部署依赖服务:适合同机部署,快速体验WeBASE的情况使用&&&

&&&手动部署依赖服务:适合多机部署,企业级的情况使用。&&&

手动部署请参照https://webasedoc.readthedocs.io/zh-cn/latest/docs/WeBASE-Install/visual_deploy.html,这里主要以一键部署为例**(具体环境依赖参考一键部署-前提条件)。**

安装Java(Oracle JDK8至14)

安装默认Java版本(Java 8或以上)

 sudo apt install -y default-jdk
 java -version

安装MySQL (mysql-5.6及以上)

apt-get install software-properties-common

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

sudo apt-get update

sudo apt install mysql-server-5.6

sudo apt install mysql-client-5.6
sudo apt update

sudo apt install mysql-server

sudo systemctl status mysql

sudo mysql_secure_installation
启动 MySQL 服务:

sudo service mysql start
停止 MySQL 服务:

sudo service mysql stop
重启 MySQL 服务:

sudo service mysql restart
sudo killall apt apt-get

sudo rm /var/lib/apt/lists/lock

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock*

sudo apt update

sudo apt install mysql-server}

在/etc/mysql/my.cnf配置文件的[mysqld]部分添加如下配置:

如若没有则自行添加 [mysqld]:

max_allowed_packet = 1024M

sql_mode =STRICT_TRANS_TABLES

ssl=0

default_authentication_plugin = mysql_native_password
sudo mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

配置Python(Python3.6及以上)

sudo apt-get install -y python3-pip

sudo pip3 install PyMySQL

配置Ansible

Ansible配置包括以下三步:

  • 宿主机安装Ansible
    • 仅在宿主机安装节点时,则仅需安装Ansible,无需完成下面两步host与免密配置
  • 配置Ansible host列表
  • 配置Ansible免密登录到节点主机
安装Ansible

:Ansible只需要安装在宿主机上,节点主机无需安装Ansible,只需配置宿主机到节点主机的免密登录

apt-get install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible 

安装完成后,可以通过--version检查是否安装成功

$ ansible --version
ansible 2.9.15
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Sep 30 2020, 13:38:04) [GCC 7.5.0]

仅在宿主机安装节点时,无需操作下文的Ansible host配置和免密配置,直接进入配置Docker章节,并在部署节点时,添加主机的IP为127.0.0.1

配置Ansible host_key_checking

配置Ansible的Host key checking,将自动确认连接到远程主机

免密登录配置

在节点管理台进行可视化部署时,节点管理(WeBASE-Node-Manager)服务会为每个节点生成相应的配置文件,然后通过Ansible的免密登录远程操作,在远程的节点主机中执行系统命令来操作节点。

下面介绍配置免密登录的各个步骤

  1. 配置 WeBASE-Node-Manager 主机到其它节点主机的 SSH 免密登录;
  2. 配置Ansible的hosts列表并配置免密登录私钥路径
  3. 注意免密登录的账号sudo权限,否则会造成Docker服务启动、检测端口占用失败;
  4. 如果免密账号为非 root 账号,保证账号有 sudo 免密 权限,即使用 sudo 执行命令时,不需要输入密码;参考本章节的[sudo账号配置]
免密登录配置方法

如果 WeBASE-Node-Manager 所在主机已经生成过秘钥对,建议使用命令 ssh-keygen -t rsa -m PEM 重新生成

登录 WeBASE-Node-Manager 所在主机:

ssh root@[IP]

检查 ~/.ssh/ 目录是否已经存在 id_rsa 私钥文件和对应的 id_rsa.pub 公钥文件。如果存在,备份现有私钥对

mv ~/.ssh/id_rsa ~/.ssh/id_rsa.bak
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.bak 
Copy to clipboard

执行命令 ssh-keygen -t rsa -m PEM,然后直接两次回车即可生成(提示输入密码时,直接回车)

ssh-keygen -t rsa -m PEM
Copy to clipboard

将公钥文件上传到需要免密登录的主机(替换 [IP] 为节点主机的 IP 地址),然后输入远程主机的登录密码

ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa.pub root@[IP]
Copy to clipboard

输出结果出现 Number of key(s) added: 1 结果,表示免密登录配置成功

检查从部署 WeBASE-Node-Manager 服务的主机是否能成功免密登录部署节点的主机(替换 [IP] 为主机的 IP 地址)

ssh -o StrictHostKeyChecking=no root@[IP]
Copy to clipboard

切记妥善保管免密登录的私钥,否则当前主机与ssh免密登录的主机均会被控制

此处配置宿主机免密登录到节点主机完成后,记住宿主机中id_rsa私钥的路径,下一步进行Ansible中hosts的免密配置

配置Ansible Hosts与免密登录

/etc/ansible/hosts文件中添加IP组webase,并配置节点主机的IP、免密登录账号和私钥路径、SSH端口。

:若后续需要添加新的主机,需要将新主机的IP添加到此处

添加以下内容:此处假设节点机IP为127.0.0.1,免密登录账户为root,且id_rsa免密私钥的路径为/root/.ssh/id_rsa,ssh端口使用22端口,添加名为webase的IP组

vi /etc/ansible/hosts

···
[webase]
127.0.0.1 ansible_ssh_private_key_file=/root/.ssh/id_rsa  ansible_ssh_user=root  ansible_ssh_port=22
{your_host_ip} ansible_ssh_private_key_file={ssh_private_key}  ansible_ssh_user={ssh_user}  ansible_ssh_port={ssh_port}
测试Ansible

执行Ansible的--list-hosts命令查看是否已添加成功

ansible webase --list-hosts
  hosts (2):
    XXX.XXX.XXX.1
    XXX.XXX.XXX.2

执行Ansible的ping命令,检测添加到hosts中各个节点主机IP能否被访问,免密配置是否已生效

  • 若出现IP | SUCCESS的则代表该IP可连通
  • 如果出现FAILED代表该IP无法连接,需要根据上文的免密登录配置进行ssh -o StrictHostKeyChecking=no root@[IP]检测

对ansible中的webase ip组进行ping检测

ansible webase -m ping

xxx.xxx.xxx.1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
xxx.xxx.xxx.2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

重新登入后,执行docker ps如有输出,未报错Permission Denied则代表配置成功

拉取 Docker 镜像

在WeBASE v1.4.3版本后,可视化部署支持自动从CDN拉取镜像,无需手动拉取

若需要手动配置镜像,可以通过以下方法配置

可视化部署需要使用FISCO BCOS + WeBASE-Front组成的节点与前置Docker镜像,并提供拉取Docker镜像的三种方式(推荐通过CDN加速服务拉取):

  • 通过可视化部署页面,自动从CDN拉取镜像压缩包并加载镜像(推荐),需要确保wget命令能正常使用
  • 在节点主机上手动通过WeBASE CDN服务下载镜像压缩包后,通过docker load命令安装镜像
  • 在节点主机上手动通过docker pull命令直接从DockerHub拉取镜像

可视化自动部署功能支持自动从 Docker 仓库拉取镜像,仅通过页面点击就可以完成Docker拉取。但是由于DockerHub的网络原因,拉取镜像的速度较慢,耗时过长,容易导致拉取镜像失败,页面的可视化部署操作失败。 因此,为了保证部署过程顺利和快速完成,可在执行可视化部署前,手动拉取镜像,并将镜像上传到每个需要部署节点服务的主机。

拉取镜像的方法,请参考下文常见问题中:拉取 Docker 镜像

拉取部署脚本

获取部署安装包:

wget https://github.com/WeBankFinTech/WeBASELargeFiles/releases/download/v1.5.5/webase-deploy.zip

# 若网络问题导致长时间无法下载,可尝试以下命令
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip

解压安装包:

unzip webase-deploy.zip

进入目录:

cd webase-deploy

注意:

  • 配置可视化部署配置文件时,选择visual-deploy.properties进行配置
  • 选择部署方式时,选择 可视化部署 方式,即执行 deploy.py 脚本时,执行 python3 deploy.py installWeBASE

修改 visual-deploy.properties 文件。

python3 deploy.py installWeBASE
...
============================================================
              _    _     ______  ___  _____ _____ 
             | |  | |    | ___ \/ _ \/  ___|  ___|
             | |  | | ___| |_/ / /_\ \ `--.| |__  
             | |/\| |/ _ | ___ |  _  |`--. |  __| 
             \  /\  |  __| |_/ | | | /\__/ | |___ 
              \/  \/ \___\____/\_| |_\____/\____/  
...
...
============================================================
==============      deploy has completed     ==============
============================================================
==============    webase-web version  v1.5.0        ========
==============    webase-node-mgr version  v1.5.0   ========
==============    webase-sign version  v1.5.0       ========
============================================================

可视化部署节点

在部署完依赖服务后,使用浏览器,访问节点管理平台页面:

# 默认端口 5000
http://{deployIP}:{webPort}

(一)添加主机
在这里插入图片描述
(二 )部署
添加的主机状态都为“初始化成功”后,点击“部署”按钮后,将自动完成以下操作

根据填入的节点信息自动生成链配置与证书
通过SCP将节点与前置的配置文件、证书传输到各个主机的指定目录下
在这里插入图片描述
在这里插入图片描述
若需要添加新的主机时,填入主机的IP与部署节点的目录

在这里插入图片描述
新增节点
在这里插入图片描述
节点操作
节点操作,包括:节点的启停、节点共识类型切换、删除节点

节点的类型切换:共识,观察和游离
在可视化部署中,变更节点为游离节点时,该群组内,至少仍有两个共识节点
变更节点类型,需要发送交易,请先在私钥管理 中 添加私钥账号;
在这里插入图片描述

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么都想学。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值