我使用hashicorp封隔器来构建烘焙的VM映像。
但是我想知道linuxkit也做了同样的事情,我的意思是构建烘焙的VM映像,唯一的区别是更多的容器和内核中心。
想知道这两个用例与用例工作的确切区别。
此外,还可以使用包装和linuxkit的任何使用酶。
发布于 2017-12-15 07:01:32
我已经相当广泛地使用了这两种方法(坦白地说:我是LinuxKit的志愿者维护者)。我使用packer很长一段时间,并将我在packer中所做的几乎所有工作都换成了LinuxKit (lkt)。
原则上,这两种工具都是开源工具,目的相同:生成可以运行的OS映像。实际上,大多数虚拟机映像都使用它在vbox、AWS、Azure、GCR等上运行,但是您可以生成一个运行在裸金属上的映像,我也这样做过。
封隔器,随着年龄的增长,有更广泛的供给者,建设者,插件等,它试图相当广泛的基础和不固执己见。为任何地方构建,运行任何您想要的安装。
LinuxKit在容器中运行几乎所有的东西-- onboot进程和连续services。即使是init阶段--其中操作系统映像将被引导--也是通过从OCI映像复制文件来配置的。
LinuxKit对如何运行和构建事物的强烈意见在某些方面可能是限制性的,但也是解放的。
我认为,最重要的区别是:
我可以得到相同的净结果的差异1-3与封隔器和LinuxKit,虽然lkt是少得多的工作。例如,我将getty包贡献给LinuxKit,以分离和控制何时/如何启动getty,以及在哪个命名空间中。在一个完整的操作系统上构建的封隔器映像中,分离和控制的工作量可能要大得多。tpm包也是一样的。等。
最大的区别是第4步,因为Packer启动一个VM并在其中运行命令,所以它要慢得多,调试起来也难得多。同样的封隔器图像,我需要10+分钟来建造,可以是30秒在lkt。您的里程可能会有所不同,取决于是否下载了OCI图像,以及您正在做的事情有多复杂,但是对于我来说,它确实是一个数量级的速度。
类似地,在运行在远程VM中的进程中,一步一步地调试或查找错误、运行、调试和重建要比在本地命令lkt build中困难得多。
正如我说过的,意见是我自己的,但这些是我将几乎所有构建工作转移到lkt的原因,我做出了贡献,并同意在团队询问时加入优秀的维护人员小组。
同时,我也非常感谢HashiCorp的出色的工具集。帕克为我服务得很好;如今,LinuxKit为我服务得更好。
https://stackoverflow.com/questions/47812633
复制相似问题