Hashicorp Packer与LinuxKit之间的区别



我已经使用了hashicorp packer来构建烤制的VM图像。

,但想知道Linuxkit也做同样的事情,我的意思是构建烤VM图像,唯一的区别是更具容器和内核中心。

想知道这两者的工作和用例之间的确切差异。

还可以使用Packer和LinuxKit提供任何用户赛。

我已经相当广泛地使用了两者(披露:我是LinuxKit的志愿者维护者)。我使用了Packer一段时间,并将几乎所有在Packer所做的工作切换到Linuxkit(lkt)。

原则上,两者都是具有相同目的的开源工具:生成可以运行的OS图像。实际上,大多数人将其用于VM图像在Vbox,AWS,Azure,GCR等上运行,但是您可以生成一个将在裸机上运行的图像。

packer年龄较大,具有更广泛的供应商,建筑商,插件等。它试图基于相当广泛的基础和未开放。在任何地方构建,运行您想要的任何安装。

LinuxKit几乎运行所有内容-onboot进程和连续的services-在容器中。即使是init阶段 - 将启动OS映像的位置 - 通过复制OCI映像的文件来配置。

LinuxKit在某种程度上对如何运行和建造事物的强烈看法可能是限制性的,但也可以解放。

我认为,最重要的区别是:

  1. lkt构建 up 从划痕到所需的裸露最低限度;数据包从现有的OS基础上构建
  2. LKT的攻击安全表面会更小,因为它不是从现有的操作系统开始,而是什么都没有。
  3. LKT图像可能会大大较小,因为您仅添加了您需要的东西。
  4. LKT构建本地运行。Packer基本上旋转VM(Vbox,Ec2,任何),运行一些基本图像,根据您的说明进行修改,然后将其保存为新图像。LKT仅通过下载和复制文件来创建新图像来操纵OCI图像。

我可以通过Packer和Linuxkit的差异1-3获得相同的净结果,尽管LKT的工作要少得多。例如。我向LinuxKit贡献了getty软件包,以分离和控制何时/如何启动盖蒂,以及在哪个命名空间。在完整操作系统上构建的包装器映像中分离和控制的工作数量要困难得多。TPM软件包相同。等。

IMO最大的区别是第4步。在LKT中,我需要10分钟以上才能构建10分钟以上的包装器图像。您的里程可能会有所不同,具体取决于是否下载了OCI图像,以及您的工作多么复杂,但这确实是我更快的数量级。

类似地,逐步调试或找到错误,运行,调试和重建的错误,在远程VM运行的过程中要比本地命令中运行的过程要困难得多:lkt build

正如我所说的,意见是我自己的,但是这些是我将几乎所有的构建工作转移给LKT,做出贡献并同意在团队询问时加入出色的维护者的原因。

同时,我非常感谢Hashicorp的出色工具集。Packer为我服务很好。如今,LinuxKit为我服务更好。

相关内容

  • 没有找到相关文章

最新更新