如何简单定制CoreOS系统

今天就跟大家聊聊有关如何简单定制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系统有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注云搜网行业资讯频道,感谢大家的支持。