•  untoreh-light

在容器上

使用容器,什么以及为什么

什么是容器

[Containers] 是对受限环境的一个名称,由 linux 中的子系统集合实现,例如 [cgroups ] 和 [namespaces ]。虽然维基页面使用了这个词 虚拟化 我觉得这个词 隔离 更合适,因为虚拟化意味着中间有一个转换层,而 cgroups 和命名空间所做的是分离和上下文化进程。

Cgroups 用于定义资源的分配策略,通常是RAMCPU ,而命名空间控制诸如挂载点、网络和用户之类的上下文。 [Apparmor] 反而提供了一种限制容器环境作为一个整体的能力的方法,而没有容器的 apparmor,正如维基百科所写的那样,是基于程序的。

像这样的工具 平板包装 火狱 使用容器来限制用户应用程序的访问面。 [Windows] 容器实现了等效系统,并且还通过 [WSL] 提供对 linux 容器的支持。

但为什么?

太多了?

当我开始建造 松树 ,我尝试了一些运送我自己的容器镜像,从 github 版本发布。主要脚本(trees ) 命令是

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

它类似于 flatpak,因为我正在发布基于主松树映像的 ostree 静态增量,并[签出] 基于 rootfs 的新应用程序,然后在其上启动一个容器实例。 OpenVZ 在 v7 之前运行容器有很多问题(因为你知道......你正在运行一个 嵌套 基于容器的 [VPS] 上的容器,内核是v2.6 (!))...那是个 巨大的 浪费时间。

什么时候?

我的尝试是在不需要的情况下获得最小的容器运行时docker 或者更强大的软件,因为 docker 可能是最轻量级的,并且 码头群 ,内置共享许多功能,并为您提供最有用的编排功能,与主机系统要求相比,它最依赖主机系统要求 k8s 或者 游牧民族.

尽管容器是您在大多数情况下可能想要的功能,但编排不是。我认为 目标不明确 广告活动吸引了 无意的 此类软件的目标受众,让人相信它是有用的 给他们 , 不强调你的前提 真的 需要大量扩展(!)以证明此类设置的复杂性成本是合理的。的数量 便利工具围绕 k8s 构建以帮助 k8s 集群的引导过程应该足以证明......

结论

当用户无法区分宠物服务器和牛服务器之间的区别时,编排工具最终会成为管理多主机的解决方案的地方。在很多情况下,像 ansible、pyinfra 甚至 cssh 或者 灰烬 是人们所需要的一切。

帖子标签: