Lee*_*ley 8 virtualization debian provisioning libvirt lxc
我正在尝试构建一个系统,该系统将运行短期(CI 和测试版本)的软件组件,根据我的要求,每个组件都位于私人主机上是强制性的。我将这个定义也包含在半虚拟化选项中,因为它似乎可以让我省去很多麻烦。
我在 Mac 上工作,所以几乎所有技术都已淘汰,libvirt和quemu等对我不起作用。然而,我计划部署到 Debian;所以在 Debian 上运行的任何东西都回到了桌面上,前提是我可以编写主机及其来宾域的配置脚本。
我的预期设置是我可以用来引导 Debian 安装程序,这意味着在启动时,机器会自动配置(Chef、Puppet、Babushka,别介意,真的) - 并且该配置的一部分应该构建一个可用于启动容器的模板 rootfs。容器本身也需要进行配置,这样当容器上来的时候,知道要做什么工作,可以做工作,然后退出。
简而言之,这是我需要的工作流程:
我已经到了尝试以下的地步,并出于以下内联的原因放弃了它们:
对于主机
老实说,我不确定人们应该使用什么技术来将虚拟机从一无所有变成一个运行、工作和有用的系统。对我来说似乎是三个步骤 a) 操作系统,b) 系统配置(用户等),然后 c) 文件系统更改。
对于来宾(虚拟)机器:
debootstrap和 LXC 容器上的一个特殊分区创建的只读 rootfs ,其中包含要为此特定实例(作业清单)完成的工作。插入有关构建操作系统、启动、创建用户、从 git 检出软件和执行工作的所有常见警告。我真的不确定要使用什么工具,似乎问题应该得到很好的解决。但我就是找不到真正开始的地方。
大多数人似乎建议主机我应该选择一种虚拟化技术,将机器引导到工作状态,然后对其进行快照(libvirt 似乎是逻辑上最喜欢的)。使用快照启动任何后续安装以进行测试或生产。
对于来宾机器,lxc 似乎提供了最简单的选项,除了将容器置于后台并稍后通过控制台连接到它的所有现有内核中都已损坏,并且稳定的 Debian 可用的最新版本的 lxc 已经超过 18 个月了,并且缺少许多广泛使用的功能。
通常我是一名应用程序开发人员,我不经常使用服务器级技术(我确信 SF 会将这个问题标记为“过于主观”),但我真的不确定要使用哪些工具。
最后一句话是,我知道一个类似的堆叠项目(travis-ci.org)正在为此使用 Vagrant 盒子。这似乎是一个相当生硬的工具,大型、缓慢、面向 ruby 的工具,专为用于关键服务基础设施的测试虚拟机的小规模桌面配置而设计,但我也认识其中一些人,他们比我更聪明,所以也许他们只是放弃了。
任何帮助表示赞赏。
一些想法:
| 归档时间: |
|
| 查看次数: |
460 次 |
| 最近记录: |