容器集群管理系统_容器的系统管理员指南

容器集群管理系统

术语“容器”被过度使用。 同样,根据上下文,它对不同的人可能意味着不同的事情。

传统的Linux容器实际上只是Linux系统上的普通进程。 使用资源约束(控制组[cgroups]),Linux安全约束(Unix权限,功能,SELinux,AppArmor,seccomp等)和名称空间(PID,网络,安装,等等。)。

Containers primer sheet
下载容器入门

如果您启动现代Linux系统并使用cat /proc/PID/cgroup查看了任何进程,则会看到该进程在cgroup中。 如果查看/proc/PID/status ,则会看到功能。 如果查看/proc/self/attr/current ,则会看到SELinux标签。 如果查看/proc/PID/ns ,则会看到该进程所在的名称空间列表。因此,如果将容器定义为具有资源约束,Linux安全约束和名称空间的进程,则根据定义,Linux上的每个进程系统位于容器中。 这就是为什么我们经常说Linux是容器,容器是Linux的原因容器运行时是修改这些资源约束,安全性和名称空间并启动容器的工具。

Docker引入了容器映像的概念,它是一个标准的TAR文件,它结合了以下内容:

  • Rootfs(容器根文件系统):系统上的目录,看起来像操作系统的标准根( / )。 例如,目录包含/usr/var/home等。
  • JSON文件(容器配置):指定如何运行rootfs。 例如,在容器启动时要在rootfs中运行的命令入口点 ; 为容器设置的环境变量 ; 容器的工作目录 ; 和其他一些设置。

Docker“ tar 's up” rootfs和JSON文件来创建基础映像 。 这使您可以在根文件系统安装额外的内容,创建一个新的JSON文件,以及tar原始图像和用更新的JSON文件的新图像之间的差异。 这将创建一个分层的图像

容器图像的定义最终由开放容器倡议(OCI)标准组织标准化为OCI图像规范

用于创建容器图像的工具称为容器图像生成器 。 有时,容器引擎执行此任务,但是有几个独立的工具可以构建容器映像。

Docker拍摄了这些容器映像( tarball )并将其移至可以从中拉取它们的Web服务,开发了一个协议来拉取它们,并将Web服务称为容器注册表

容器引擎是可以从容器注册表中提取容器图像并将其重新组装到容器存储中的程序 。 容器引擎还会启动容器运行时 (请参见下文)。

Linux container internals

Linux容器内部。 斯科特·麦卡蒂的插图。 CC BY-SA 4.0

容器存储通常是写时复制 (COW)分层文件系统。 从容器注册表中提取容器映像时,首先需要解压缩rootfs并将其放在磁盘上。 如果您有多个组成图像的层,则将下载每个层并将其存储在COW文件系统上的另一个层上。 COW文件系统允许每个图层分别存储,从而最大程度地共享分层图像。 容器引擎通常支持多种类型的容器存储,包括overlaydevicemapperbtrfsaufszfs

容器运行时配置。 运行时配置将来自调用方/用户的输入与容器映像规范的内容结合在一起。 例如,调用者可能想要指定对正在运行的容器的安全性的修改,添加其他环境变量或将卷装载到该容器。

OCI标准组织还已将容器运行时配置的布局和分解的rootfs标准化为OCI运行时规范

最后,容器引擎启动一个容器运行时 ,该运行读取容器运行时规范。 修改Linux cgroup,Linux安全约束和名称空间; 并启动container命令以创建容器的PID 1 。 此时,容器引擎可以将stdin / stdout中继回调用方并控制容器(例如,停止,启动,附加)。

请注意,引入了许多新的容器运行时以使用Linux的不同部分来隔离容器。 人们现在可以使用KVM分离(例如微型虚拟机)运行容器,或者可以使用其他虚拟机监控程序策略(例如拦截容器中进程的所有系统调用)。 由于我们具有标准的运行时规范,因此这些工具都可以由相同的容器引擎启动。 甚至Windows也可以使用OCI运行时规范来启动Windows容器。

更高级别的是容器协调器。 容器编排器是用于协调多个不同节点上容器执行的工具。 容器协调员与容器引擎进行对话以管理容器。 协调员告诉容器引擎启动容器并将其网络连接在一起。 协调员可以监视容器,并在负载增加时启动其他容器。

翻译自: https://opensource.com/article/18/8/sysadmins-guide-containers

容器集群管理系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值