今天就跟大家聊聊有关如何简单定制CoreOS系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
刚开始学习研究CoreOS,感觉有点烦,下边这个分享也是针对所烦的两点做的一点修改和定制。
首先安装系统到硬盘上时需要下载一个coreos_production_image.bin.bz2,这种需要下载安装的程序多半需要看脸(Docker也是如此)
其次,安装后无法登陆到系统中。(可能没找到方法)因为需要在安装前配置连接验证,包括用户名及密码,安装完成如果没有配置就悲催了。当然,可以通过安装时指定配置文件定制系统的配置和信息。
-
解包与压缩需要的工具
squashfs-tools cpio gzip mkisofs
下载官方的iso安装镜像
coreos_production_iso_image.iso
-
解压
创建工作目录(所有的工作目录都在/tmp下)
mkdir orig new sq_old sq_new cpio
(因为挂载的iso和squashfs的镜像无法直接修改,需要全部拷贝)
挂载并将iso目录中的所有内容
mount /var/www/html/coreos_production_iso_image.iso orig/ && cp -r orig/* new/
解压cpio.gz
cd new/coreos/ && gzip -d cpio.gz cd /tmp/cpio && cpio -i < ../new/coreos/cpio
挂载拷贝squashfs
mount -o loop -t squashfs usr.squashfs /tmp/sq_old/ cp -r sq_old/* sq_new/
-
修改定制信息
这个根据自己的需求定制
我修改的配置默认配置文件(默认一个密码)和安装的脚本(可以指定下载源)。
cat share/coreos/coreos-config.yaml #cloud-config coreos: units: - name: etcd.service command: start users: - name: core passwd: $1$8Kxo5IMS$dGqEN0MlLgLELsQ/NpBHp/
根据自己的需求,修改coreos中的安装脚本和配置文件。保证自己在批量部署过程中可以很方便的定制。
定制好后,打包封装成iso。
-
打包
不可以覆盖,只能创建新的,所以保证cpio目录中没有usr.squashfs
cd /tmp && mksquashfs sq_new/ cpio/usr.squashfs
使用cpio打包生成启动镜像。需要添加newc tag 否则无法解压。cpio目录下除了usr.squashfs 和etc的空目录
cd /tmp/cpio && find .| cpio -H newc -o > ../new/coreos/cpio
压缩cpio
cd /tmp/new/coreos/ && gzip cpio
制作iso镜像。
cd /tmp/new && mkisofs -v -l -r -J -o /tmp/coreos.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
定制好的ISO镜像链接:http://pan.baidu.com/s/1eQvMUQm
默认生成的用户名和密码:core password
可以使用-u参数指定自己的下载url
需要 coreos_production_image.bin.bz2 和 coreos_production_image.bin.bz2.sig 放到HTTP服务器上。
看完上述内容,你们对如何简单定制CoreOS系统有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注云搜网行业资讯频道,感谢大家的支持。