生成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 ~/helloworldbuildkit buildrepo allbuildkit buildtar
如果修改了文件想重新生成kit包,需要先运行“buildkit cleanall”然后再运行上面的打包命令。
添加Kit
首先在xCAT环境下可以使用 lskit 来查看已添加的Kit和KitComponent,比如
lskitlskit helloworld-1.0-1lsdef -t kit -l helloworld-1.0-1lskitcomp
然后可以使用 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-computeupdatenode <nodelist>
此时就会在node节点上安装kit了,安装完成后可以使用 “xdsh <node> yum search helloworld” 来查看安装后的结果。
参考
本文永久更新链接地址:
却还是,会愚蠢的选择相互敌视的方式。即使背脊相抵,