介绍
CloudBoot
CloudBoot 是云霁科技科技开源的一款简单易用的装机系统,类似 Cobbler ,但是功能更强大,更易用。(详情可参阅参考资料的链接)
RancherOS
RancherOS 是 Rancher Labs 开源的一款容器操作系统,类似 coreOS,RancherOS 是 Rancher Labs 设计的小巧、专用的容器操作系统,可用安装到服务器本地硬盘中,也可以部署到公有云上,或者配合 DockerMachine 使用。与 Ubuntu 和 CentOS 不同,RancherOS 使用 cloud-config.yml 配置文件来管理机器的配置信息,包括系统启动时的服务、网络相关的配置信息、存储配置、容器配置等等,都可以放到配置文件中进行管理。
安装 cloudboot
可参阅 CloudBoot 一键部署 :
http://idcos.github.io/osinstall-doc/environment/一键部署.html
挂载 RancherOS 镜像
创建软连接
docker exec -it cloudboot /bin/sh
ln -s /data/iso/rancheros /home/www/rancheros
注意:
CloudBoot 默认用户名密码是 admin/admin
登陆后需要配置 dhcp(【系统管理】-> 【系统设置】)
需要配置网段(【网段管理】->【应用网段】)
本文讲的是 VMware,所以不需要配置 OOB
需要配置设备位置(【模板管理】->【位置管理】)
如果 CloudBoot 和 RancherOS 都装在 VMware 虚拟机里,需要把 VMware 的网络设置中的 dhcp 去掉,否则会冲突
pxe 安装 RancherOS
参考 RancherOS#docs#iPXE 和 CloudBoot PXE 模板定制规范
RancherOS#docs#iPXE:https://rancher.com/docs/os/v1.x/en/installation/running-rancheros/server/pxe/
CloudBoot PXE 模板定制规范:http://idcos.github.io/osinstall-doc/os/PXE模板定制规范.html
PXE 模板管理
从【模板管理】->【PXE 模板管理】 新增 RancherOS-1.5.1
系统模板管理
从【模板管理】->【系统模板管理】 新增 rancheros-1.5.1
把 docker mirror 换成实际的加速器,如果不需要,可以删除,ssh_authorized_keys 换成真实的 ssh key
自定义脚本
在 CloudBoot 宿主机上,运行 docker exec -it cloudboot /bin/sh ,然后运行 vim /home/www/scripts/rancheros.sh
自动化安装 RancherOS
从 VMware 创建 空盘 -> 其他 Linux4.x 或更高版本内核 64 位,2 核 2G 虚拟机,然后上电
虚拟机会从 PXE 拉取 CloudBoot 的 bootos 安装到内存中,并且往 CloudBoot 上注册待录入的设备(待屏幕变蓝色)
从 http://$
{cloudboot host}/#/dashboard/device/scan/list 会发现新设备,选中后,点击录入新设备
bootos 会自动轮询是否有自动装机任务,所以静候即可。如果等不及,可以在录入成功后,手动重启虚拟机。
在【正在安装的设备】中,会自动出现要安装的设备
点击【详情】会在滚动模式下试试看到安装进度
在【设备列表】可以看到已安装成功的设备
注意
和 Rancher Labs 架构师张智博讨论后,张智博指出
booting from ISO 首次启动,整个系统都在内存中。
执行 ros install 后,安装 bootloader 和 initrd/vmlinuz 到磁盘。
再次启动后,就是完整的运行在硬盘上的操作系统。
脑洞
可以在 cloud config 配置自定义服务,这样装机后,就可以直接启动服务,不需要 ssh 到 ros 上,手动执行命令,例如配置 Rancher client 的添加主机的命令,这样就可以直接添加到已有集群。
更多参考 Custom System Services:https://rancher.com/docs/os/v1.x/en/installation/system-services/custom-system-services/
参考资料
作者简介
赵安家,山东顺能网络全栈研发工程师。前端后端通吃,DevOps、安全、培训都有涉猎,负责了公司从单体服务迁移至微服务的项目。
评论