多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
本文链接:[http://blog.csdn.net/kongxx/article/details/44086779](http://blog.csdn.net/kongxx/article/details/44086779) **生成Kit文件结构** 首先使用buildkit工具来生成一个Kit,比如这里我们假定我们的Kit名字叫helloworld ~~~ buildkit create helloworld ~~~ 上面命令会在用户的根目录下生成一个helloworld目录,下面是生成的目录结构,这里我们只是想做一下测试,所以我什么都没有改,生成的目录结构直接就可以打包成Kit包 ~~~ helloworld/ ├── buildkit.conf ├── docs │   └── index.html ├── other_files │   └── sample │   ├── exclude.lst │   └── kitdeployparams.lst ├── plugins │   └── sample │   ├── imageprofile.pm │   └── nodemgmt.pm ├── scripts │   └── sample │   ├── genimage_post.sh │   ├── postboot.sh │   ├── post.sh │   ├── postun.sh │   ├── postup.sh │   ├── pre.sh │   ├── preun.sh │   └── preup.sh └── source_packages └── sample ├── pkg1 │   └── pkg1-1-1.noarch.rpm ├── pkg2 │   ├── pkg2 │   │   ├── cfg │   │   │   └── pkg2.cfg │   │   └── files │   │   ├── pkg2.file1 │   │   └── pkg2.file2 │   └── pkg2.spec ├── pkg3 │   ├── pkg3.spec │   └── pkg3.tar.gz └── pkg4 └── pkg4-1-1.src.rpm ~~~ **修改配置文件** 编辑buildkit.conf文件,这个文件还是比较容易理解的,里面注释也比较详细,其中主要定义了kit,kitrepo,kitcomponent和kitpackage等。 但是配置文件中有一个属性compat_osbasenames需要特别注意一下,如果目标机器都是rh的机器,可以忽略,但是如果是centos的话,需要修改这个属性的定义 ~~~ compat_osbasenames=centos ~~~ **打包** 使用下面的命令打包,结果会在helloworld目录下生成一个helloworld-1.0-1.tar.bz2文件 ~~~ cd ~/helloworld buildkit buildrepo all buildkit buildtar ~~~ 如果修改了文件想重新生成kit包,需要先运行“buildkit cleanall”然后再运行上面的打包命令。 **添加Kit** 首先在xCAT环境下可以使用 lskit 来查看已添加的Kit和KitComponent,比如 ~~~ lskit lskit helloworld-1.0-1 lsdef -t kit -l helloworld-1.0-1 lskitcomp ~~~ 然后可以使用 addkit 命令来添加上面建立的kit,添加完成后可以用上面的命令查看一下 ~~~ addkit helloworld-1.0-1.tar.bz2 ~~~ 如果要删除的话,可以使用 rmkit 命令 ~~~ rmkit helloworld-1.0-1 ~~~ 下一步是检查上面添加的kit是不是可以被osimage使用,首先我们来查看一下当前系统有哪些osimage ~~~ lsdef -t osimage ~~~ 然后用 chkkitcomp 命令来检查有效性 ~~~ chkkitcomp -i centos6.6-x86_64-install-compute helloworld_compute-1.0-1-rh-6.6-x86_64 ~~~ 如果检查结果可用,那么就可以使用 addkitcomp 来给 osimage 添加kitcomponent了 ~~~ addkitcomp -a -i centos6.6-x86_64-install-compute helloworld_compute-1.0-1-rh-6.6-x86_64 ~~~ 当然添加后也可以使用 rmkitcomp 来删除 ~~~ rmkitcomp -i centos6.6-x86_64-install-compute helloworld_compute-1.0-1-rh-6.6-x86_64 ~~~ **升级node** ~~~ chdef <nodelist> provmethod=<osimage> updatenode <nodelist> 比如 chdef <nodelist> provmethod=centos6.6-x86_64-install-compute updatenode <nodelist> ~~~ 此时就会在node节点上安装kit了,安装完成后可以使用 “xdsh <node> yum search helloworld” 来查看安装后的结果。 **参考** http://sourceforge.net/p/xcat/wiki/Building_Software_Kits http://sourceforge.net/p/xcat/wiki/Using_Software_Kits_in_OS_Images