本文介绍如何基于 CentOS 系统 Docker 容器将 Spire.Cloud 进行私有化部署。
一、安装 CentOS 7 系统
首先,需要在服务器上安装 CentOS 7 系统,如果已安装,可跳过该步骤。
1、安装 CentOS 7,进入以下界面,点击 continue。
2、选择最小安装。
3、设置分区,选择默认设置即可。
4、开启网络。
5、配置完毕开始安装。
6、设置 root 账户密码。
7、安装完毕后重启系统。
二、系统配置
1、关闭系统防火墙。
1)关闭防火墙:
-> systemctl stop firewalld.service
2)查看防火墙状态,确保已关闭:
-> firewall-cmd --state
2、配置静态 IP 地址。
1)使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens32(需要查看后才能确认这个信息),打开配置文件。
按 Insert 键开始编辑,将 bootproto 的值改为 static,并在末尾加上 IP 地址,子网掩码,网关和 DNS 服务器。编辑完之后按 ESC 键退出编辑,然后再按冒号(:)键,输入指令 wq 保存退出。
2)然后输入命令:systemctl restart network 重启网络服务。
3)输入命令 ip addr 查看当前 ip 地址,确认是否修改成功。
3、安装 Docker,可以查看官方文档进行安装:Install Docker Engine on CentOS
三、部署 Spire.Cloud
1、请联系我们获取 Spire.Cloud 产品部署包。邮箱:该 Email 地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。;电话:028-81705109。
2、将私有部署安装包拷贝到 CentOS 7 系统中,可以借助 winscp 工具进行拷贝。本次部署将文件拷贝到了 /root/SpirePrivateDeploy 目录下。
3、然后将 spire.dockerfile 文件和 docker.install 文件夹放入安装包目录下,即与 spire.cloud&packges 同级目录。
4、在宿主机上安装 openssh 组件,此步骤是为了便于后续容器内部署的服务绑定授权时更好的访问宿主机的 MAC 和 IP 地址,命令如下:
-> yum install -y openssh-clients
5、在宿主机上生成 SSH 的密钥对:私钥(如 id_rsa)和公钥(如 id_rsa.pub)。
-> ssh-keygen -t rsa -b 4096
并将公钥添加到远程服务器上特定用户的授权密钥列表文件中,以便启用基于公钥认证的无密码 SSH 登录。
-> cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
6、进入安装包目录(/root/SpirePrivateDeploy),执行以下命令来编译镜像。此过程需耗时,请耐心等待。
-> docker build -f spire.dockerfile -t centos/centos7:spire .
7、执行下面的命令来加载镜像并启动 ,其中 xxx.xxx.xxx.xxx 为 Docker 宿主机的 IP。以本次部署为例,即为 192.168.0.147。
-> docker run -itd --privileged --name spirecl -v /root/.ssh/id_rsa:/root/.ssh/id_rsa -e IP_ADDR="xxx.xxx.xxx.xxx" -p 3000:3000 -p 8000:8000 -p 8050:8050 centos/centos7:spire /usr/sbin/init
8、上传 license.elic.xml 文件到宿主机。在宿主机上创建一个名为 host.xml 的文件,并包含下面的内容。其中需要修改 HostIp 和 HostUser 节点的信息,分别为您宿主机的 IP 地址和宿主机用户名。
<?xml version="1.0" encoding="utf-8"?>
<Host>
<HostIp>192.168.0.147</HostIp>
<HostUser>root</HostUser>
</Host>
9、使用以下命令将 license.elic.xml 以及 host.xml 文件拷贝到 Docker 容器内部的 /opt/spire/spire.cloud/service/ConverterService/bin/license 目录下。
PS:或者也可以在编译镜像之前就将 license 和 host 文件放到安装包的 spire.cloud/service/ConverterService/bin/license 目录下。
-> docker cp license.elic.xml spirecl:/opt/spire/spire.cloud/service/ConverterService/bin/license
-> docker cp host.xml spirecl:/opt/spire/spire.cloud/service/ConverterService/bin/license
10、进入容器内部并安装 openssh-clients。
-> docker exec -it spirecl /bin/bash
-> yum install -y openssh-clients
11、进入 bind_license.sh 程序所在目录并绑定授权。
-> cd opt/spire
-> sh binding_license.sh
12、打开浏览器,浏览器地址栏输入“[服务器 ip]:3000”(针对本次部署输入 192.168.0.147:3000),出现以下界面:
点击 Create Document,创建一个空白 Word 文档并编辑内容: