【题目 1】私有网络管理[0.5 分]
【题目 2】云实例管理[0.5 分]
【题目 3】数据库管理[0.5 分]
【题目 4】主从数据库[1 分]
【题目 5】node 环境管理[0.5 分]
【题目 6】安全组管理[0.5 分]
【题目 7】RocketChat 上云[0.5 分]
在公有云中完成虚拟私有云的创建,具体要求如下:
(1)在上海一区域进行创建操作;
(2)创建一个名为 intnetX 的内部网络:IP 地址为 172.16.0.0/16;
(3)创建子网名称为 intnetX-server:IP 地址为 172.16.1.0/24;
(4)创建子网名称为 intnetX-mysql:IP 地址为 172.16.2.0/24;
完成创建后,提交当前的 AK(SecretId)、SK(SecretKey)和 intnetX 网络的 ID 到答题框。
1.查看 vpc 名字为 intnetX 正确计 0.1 分 |
---|
2.查看子网名为 intnetX-server 和子网网段正确计 0.2 分 |
3.查看子网名为 intnetX-mysql 和子网网段正确计 0.2 分 |
登录华为云平台,创建两台云实例,具体要求如下:
(1)计费模式:按需计费;
(2)地域:上海一;
(3)CPU 架构:x86 计算;
(4)规格:c7.xlarge.2;
(5)镜像:CentOS 7.5 64 位;
(6)系统盘:高 IO 50G 硬盘;
(7)公网带宽:按带宽计费,5Mbps;
(8)实例名称:ChinaSkill-node-1、ChinaSkill-node-2;
(9)登录方式:使用密码登录,密码自定义。
创建完成后,提交当前的 AK(SecretId)、SK(SecretKey)和 ChinaSkill-node-1 的实例 ID 到答题框。
1.查看云实例使用的类型是否正确计 0.2 分 |
---|
2.查看云实例使用的云硬盘是否正确计 0.3 分 |
步骤:控制台 → 弹性云服务器 → 购买弹性云服务器
使用intnetX-mysql网络创建两台chinaskill-sql-1和chinaskill-sql-2云服务器,使用提供的压缩文件rocketchat-cloud.tar.gz中的软件包源,在chinaskill-sql-1和chinaskill-sql-2中部署MongoDB数据库服务。配置完成后提交连接chinaskill-sql-1节点的用户名、密码和公网IP地址到答题框。
1.查看数据库安装正确计 0.5 分 |
---|
配置本地yum源
[a]
baserurl=file:///root/rocket/yum
gpgcheck=0
安装MongoDB 数据库、
[root@mysql-1 ~]# yum install -y mongodb-org
[root@mysql-2 ~]# yum install -y mongodb-org
启动MongoDB数据库
[root@mysql-1 ~]# systemctl restart mongod
[root@mysql-2 ~]# systemctl restart mongod
在 chinaskill-sql-1 和 chinaskill-sql-2 云服务器中配置 MongoDB 主从数据库,配置MongoDB 集群名称为 rs 并完成集群设置。完成后提交连接chinaskill-sql-1 节点的用户名、
密码和公网 IP 地址到答题框。
1.查看 mongo 数据库 rs 集群状态正确计 1 分 |
---|
修改MongoDB配置文件 (两个都要改)
[root@mysql-1 ~]# vi /etc/mongod.conf
net:
port: 27017
bindIp: 0.0.0.0 # 修改
#security:
#operationProfiling:
replication:
replSetName: rs #添加 过滤: mongod --help | grep repl
重启服务
[root@mysql-1 ~]# systemctl restart mongod
[root@mysql-2 ~]# systemctl restart mongod
数据库配置( 在mysql-1配置就可以了 )
> use admin
switched to db admin
> cfg={ _id:"rs", members:[ {_id:0,host:'172.16.1.88:27017',priority:2}, {_id:1,host:'172.16.1.89:27017',priority:1}] };
{
"_id" : "rs",
"members" : [
{
"_id" : 0,
"host" : "172.16.1.88:27017",
"priority" : 2
},
{
"_id" : 1,
"host" : "172.16.1.89:27017",
"priority" : 1
}
]
}
> rs.initiate(cfg)
{ "ok" : 1 } 要显示ok 1
rs:SECONDARY> rs.status()
使用提供的压缩文件 rocketchat-cloud.tar.gz 中软件包源,在 ChinaSkill-node-1 部署 nodejs,
根据 所提供 的 rocket.chat 所 需要求 安 装 nodejs 对 应版本。 配置完成后提 交连接
ChinaSkill-node-1 节点的用户名、密码和公网 IP 地址到答题框。
1.查看 node 版本为 v12.16.1 正确计 0.5 分 |
---|
[root@mysql-1 rocket]# tar xf node-v12.16.1-linux-x64.tar.gz
[root@mysql-1 rocket]# mv node-v12.16.1-linux-x64 /usr/local/node
[root@mysql-1 rocket]# ln -s /usr/local/node/bin/* /usr/bin/
[root@mysql-1 rocket]# node -v
v12.16.1
[root@mysql-1 rocket]#
创建一个安全组,具体要求如下:
(1)名称:intnetX-security;
(2)允许策略:只放行源地址为 172.16.1.0/24 访问 27017 端口;
(3)允许策略:只放行源地址为 172.16.1.0/24 使用 ping 命令访问;
(4)关联实例:将 intnetX-security 安全组关联至所创建的数据库中;
创建完成后,提交当前的 AK(SecretId)、SK(SecretKey)和安全组 ID 到答题框。
1.查看安全组是否被创建计 0.1 分 |
---|
2.查看安全组 tcp 策略是否按要求创建计 0.2 分 |
3.查看安全组 icmp 策略是否按要求创建计 0.2 分 |
步骤:控制台 → 虚拟私有云VPC → 网络控制台 → 访问控制 → 安全组 → 创建安全组
加入chinaskill-sql-1 和 chinaskill-sql-2
使用 http 服务器提供的压缩文件 rocketchat-cloud.tar.gz 中的 RocketChat 软件包,在ChinaSkill-node-1 中部署 RocketChat 的 Web 服务。使用 chinaskill-sql-1 的 MongoDB 为后端数据库,设置 RocketChat 服务访问端口为 3000。完成 Rocketchat 系统上云后,将ChinaSkill-node-1 节点的用户名、密码和公网 IP 地址到答题框
1.查看 RocketChat 服务正常计 0.2 分 |
---|
2.查看前端页面是否正常返回计 0.3 分 |
安装npm源
[root@mysql-1 rocket]# tar xf rocket.chat-3.2.2.tgz
[root@mysql-1 rocket]# cd bundle/
[root@mysql-1 bundle]# ls
main.js programs README server star.json
[root@mysql-1 bundle]# cd programs/server/
[root@mysql-1 server]# npm install 如果出现报错可以切换nodejs版本来安装
设置环境变量
选择chinaskill-sql-1 ip加入
[root@mysql-1 bundle]# export ROOT_URL='http://localhost:3000'
[root@mysql-1 bundle]# export PORT="3000"
[root@mysql-1 bundle]# export MONGO_URL='mongodb://172.16.1.88:27017/rocketchat?replicsSet=rs'
[root@mysql-1 bundle]# export MONGO_OPLOG_URL=mongodb://172.16.1.88:27017/local?replicaSet=rs
[root@mysql-1 bundle]# node main.js
常见报错
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9’ not found
需要更新libstdc++.so.6的版本
发现当前的 libstdc++.so.6 的版本没有 CXXABI_1.3.9 需要更换更高级别的
[root@mysql-1 bundle]# strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1
先查看系统是否存在更高级别的,如果有的话用第一步来查看是否存在需要的东西
[root@mysql-1 bundle]# find / -name libstdc++.so.6*
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6.0.26
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
把libstdc++.so.6更换
[root@mysql-1 bundle]# mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
[root@mysql-1 bundle]# ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
[root@mysql-1 bundle]#