lxc部署和配置管理工具

iori的Python项目详细描述


什么是“iori”?

“iori”是指一个简单的小屋。它是用汉字写的“庵”,这个字符是Unicode中的0x5EB5。

iori是用于部署和配置linux容器管理工具(lxc)的命令行工具。使用lxc时,通常需要使用lxc userland命令行工具作为“lxc-*”的开头。lxc提供了模板配置文件和脚本。但是,如果要从远程控制器主机进行管理,很难按批量处理容器。所以这个工具用libvirt api控制lxc,用git存储库管理这些配置文件。

这个工具能够管理lxc容器的多个主机。一个分支作为一个主机进行管理。分支名称是从主机名(或fqdn)或ipv4或ipv6地址生成的。“master”分支将用于映射。“template”分支用于每个节点的模板。

要求

  • python 2.7版
  • python libvirt(0.9.12)
  • Gitpython(0.3.2-rc1)
  • CDebootstrap(非脱钩测试)

您不需要安装lxc包。:)

设置

mount cgroup文件系统

先挂载cgroup文件系统。在/etc/fstab后面追加一行,执行“sudo mount-a.”:

cgroup /sys/fs/cgroup cgroup defaults 0 0

如果使用debian gnu/linux wheezy/sid,请将下面的选项设置为/etc/default/grub,然后执行“sudo update-grub2&;sudo shutdown-r now”。

GRUB_CMDLINE_LINUX="cgroup_enable=memory"

ubuntu 12.04不需要设置这个选项。

安装iori依赖的debian包

iori依赖于gitpython、python libvirt和libvirt以及python2.7。安装这些软件包。:

$ sudo apt-get install python-git libvirt-bin python-libvirt

安装iori

用三种方法之一安装该选项。

源代码

$ git clone https://github.com/mkouhei/iori.git
$ cd iori
$ sudo python setup.py install

pypi

$ pip install iori

Debian软件包

尚未正式打包,然后从https://github.com/mkouhei/iori/downloads下载python-iori-x.x_all.deb并使用dpkg命令安装。:

$ wget https://github.com/mkouhei/iori/download/python-iori_x.x-x_all.deb
$ sudo dpkg -i python-iori_x.x-x_all.deb

将用户帐户添加到libvirt(libvirtd)组

向libvirt或libvirtd group添加用于使用iori的用户帐户。:

$ sudo adduser <youraccount> libvirt

libvirt代表debian,libvirtd代表ubuntu。

使direcotry

如果目录“/VAR/LIB/LXC”不存在,请注明:

$ sudo mkdir /var/lib/lxc

历史记录

请参见docs/history.rst

快速入门指南

创建存储库

创建$home/.iori目录并初始化git存储库。

$ iori newrepo

将lxc主机节点添加到git存储库

生成lxc主机节点的命名主机名分支,选中该分支。:

$ iori addnode -n localhost

定义libvirt xml文件并创建rootfs映像

生成libvirt域的xml文件,并以此xml定义域,使用debootstrap命令创建rootfs映像。然后保存该域的XML文件。:

$ iori deploy -n localhost -c testcont01 --rootfs /var/lib/lxc/testcont01

启动容器

从上面的域启动容器。:

$ iori start -n localhost -c testcont01

开发

在git克隆之后复制预提交钩子脚本。:

$ cp -f utils/pre-commit.txt .git/hooks/pre-commit

接下来安装python 2.7和notests,libvirt,python libvirt,gitpython,cdebootstrap。下面是Debian GNU/Linux SID系统的用法。

$ sudo apt-get install python python-libvirt python-git python-nose

然后签出“devel”分支进行开发,提交更改。在pull请求之前,执行git rebase。

待办事项

  • 使用debootstrap支持远程主机目标
  • 添加节点时检测到注册同一主机
  • 添加unittest

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在ElasticSearch中将SearchHit转换为Java对象   第三方库类的java重写XmlAdapter   java如何使用动画类获得平滑的动画效果?   Java PDFBox如果文本内容超过PDF的第一页,如何添加新页面?   Java二叉搜索树u根到最近叶的距离   java什么是diff Scanner和BufferedReader   java如何设计不生成并行数组的程序   java多次声明变量会降低执行速度吗?   java如何使用JXLAPI读取下拉列表的值   多线程为什么自定义阻塞队列在Java中不是线程安全的   java在一个变量中每输入1000个单位,就从另一个变量中减去1?   java Mapstruct通用映射器   Java中的类能否确定它是否已被修改?   java如何在MogoOperations聚合函数中定义输出类型?