CloudInstall节点服务为机房内服务器提供自动化安装服务,每个机房需要一台CloudInstall节点服务器,该服务器要求与机房内其他需要自动化安装系统的服务器网络互通。
节点服务建议在净版的 Centos 进行安装,推荐使用 Centos 7 以上的系统进行安装使用。
节点服务需要关闭防火墙。
安装 Cloudinstall 节点服务需要 2GB 硬盘空间。
系统需要进行比较多的网络环境调整,要求安装人员有较为丰富的运维经验。
cloudinstall服务器需要2张网卡,其中一张网卡用于连接到外网,要求公网IP地址;另一张网卡用于连接到其他服务器的IPMI,要求该网卡IP地址与被管理服务器IPMI地址在同网段且不冲突的IP。
以 vmware 14 和 Centos 7.6 为示例:
ens33 为公网IP网卡,IPMI 网段为192.168.90.0。
ens39 为控制器网卡,IP为192.168.188.2,此时 ens39 网卡配置文件为:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens39
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens39
ONBOOT=yes
IPADDR=192.168.190.200
GATEWAY=192.168.190.1
NETMASK=255.255.255.0
IPADDR2=192.168.188.2
默认的DHCP网关为192.168.188.2,若需要改成其他网关需要执行以下方法(该步骤为可选项):
网关和网段必须保持一致,且网段必须是空闲的。
设置参数:
SUBNET=192.168.188.0
NETMASK=255.255.255.0
DHCPSTART=192.168.188.12
DHCPEND=192.168.188.250
GATEWAY=192.168.188.2
DHCPDNS=192.168.188.2
修改 DNS:
sed -i -e "s/192.168.188.2/$GATEWAY/g" /opt/cloudinstall/etc/dnsmasq.conf
修改 DHCP 网关:
cat > /opt/cloudinstall/etc/dhcp/dhcpd.conf <<EOF
allow booting;
subnet $SUBNET netmask $NETMASK {
range $DHCPSTART $DHCPEND;
option routers $GATEWAY;
filename "pxelinux.0";
option domain-name-servers $DHCPDNS;
}
EOF
yum install https://cos.qstack.net/download/cloudinstall/3.5.1/cloudinstall-secondary-3.5.1-linux-amd64.rpm
3.5.1为版本号,请根据需要安装的版本自行更改。
systemctl stop firewalld
systemctl daemon-reload
节点通讯信息信息在cloudinstall.toml里。
vi /opt/cloudinstall/etc/cloudinstall.toml
修改[node_auch]的enabled为true,并设置user和password,这个是控制器的用户名密码,后面配置机房的时候会用到。
systemctl start cloudinstall@server.service
systemctl status cloudinstall@server.service
查看节点服务程序状态,active表示开启。
打开 CloudInstall 裸金属自动化系统后台,点击”机房管理 -> 添加“进入机房添加页面,添加机房信息。
其中通讯地址为节点服务器的公网IP,端口为9931;账号密码为第4步中设置的账号密码;其他信息根据实际情况进行填写。
填写完毕后点击提交,如果连接异常会有相应的提示,连接正常则会直接添加成功。
不安装将无法使用 NoVNC 服务,其他无差别
一键安装
sh -c "$(curl -sSL https://cos.qstack.net/download/cloudinstall/rcs/install_rcs.sh)"
手动安装
以下脚本基于 bash 编写
set -e
set -x
# 如果不存在 docker,则先安装
if [[ `rpm -q docker-ce > /dev/null ; echo $?` != 0 ]] ; then
curl -sSL https://get.daocloud.io/docker | sh
fi
# 增加 Docker Sock 监听
sed -i "s|-H|-H unix:///opt/cloudinstall/docker.sock -H|" /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
cd /var/tmp
curl -O https://cos.qstack.net/download/cloudinstall/rcs/rcs-image-debian-amd64.tar
docker load <rcs-image-debian-amd64.tar
至此,节点服务安装并配置完毕。
节点服务安装操作系统所需的文件需要放置在/opt/cloudinstall/srv/tftp/systems/
目录下。解压后的镜像文件夹可以直接整个文件夹拷贝到该目录下即可。
这里以iso类型的镜像挂载为例演示一下挂载流程。
如果使用的是已经解压后的镜像文件,可以跳过本步骤。
以挂载centos7.6为例,先挂载iso镜像:
mount -o loop CentOS-7.6-x86_64-Minimal-1810.iso /mnt
检查镜像是否被挂载成功:
ls /mnt
在/opt/cloudinstall/srv/tftp/systems/
目录下,创建【centos7】文件夹,文件夹名字在后面的做系统模板配置的时候会用到:
mkdir -p /opt/cloudinstall/srv/tftp/systems/centos7/
复制镜像到创建的文件夹里:
cp -r /mnt/* /opt/cloudinstall/srv/tftp/systems/centos7/
打开 CloudInstall 裸金属自动化系统后台,点击”命令模板 -> 操作系统模板“进入操作系统模板管理页面,添加操作系统信息。
新添加的操作系统的系统编号,需要与第3步中对应的挂载系统的文件夹名字一致。
至此,操作系统镜像挂载和配置完毕。