关于容器和容器运行时那些事
2.容器 VS. 虚机
Linux的容器和虚拟机的差比我想大家都比较了解了,我这里再简单叙述一下:
对于使用虚拟机的传统虚拟化,每个虚拟机都有自己的完整操作系统,因此在运行内置于虚拟机的应用程序时,内存使用量可能会高于必要值,虚拟机可能会开始耗尽主机所需的资源。容器共享操作系统环境(内核),因此它们比完整虚拟机使用更少的资源,并减轻主机内存的压力。
传统虚拟机可占用大量磁盘空间:除了虚拟机托管的任何应用程序外,它们还包含完整的操作系统和相关工具。容器相对较轻:它们仅包含使容器化应用程序运行所需的库和工具,因此它们比虚拟机更紧凑,并且启动速度更快。
在更新或修补操作系统时,必须逐个更新传统计算机:必须单独修补每个客户操作系统。对于容器,只需更新容器主机(托管容器的机器)的操作系统。这显著简化了维护。
利用这些优势容器在软件开发领域里迅速发展,我已经很习惯用容器去安装各种软件应用,因为它开销很小,而且隔离性很好,我可以很方便的使用同一个软件的多个版本而不用担心冲突问题。
Linux的的容器技术是如何做到这些的呢?我们来看看构建容器技术的两个核心功能命名空间Namespace和控制组CGroup。
3.命名空间 Namespace
命名空间是Linux内核的一项功能,该功能对内核资源进行分区。控制进程可以访问的资源,以使一组进程看到一组资源,而另一组进程看到另一组资源。资源可能存在于多个空间中。Linux系统以每种类型的单个名称空间开始,供所有进程使用。进程可以创建其他名称空间,并加入不同的名称空间。
Linux下常见的命名空间有:
挂载Mount mnt
进程Id pid
网络 net
进程间通信 ipc
用户Id user
UTS
简单的讲,利用Namespace可以实现我们想要的资源隔离,控制哪些资源可以使用。
4.控制组 CGroup
CGroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组 (process groups) 所使用的物理资源 (如 cpu memory i/o 等等) 的机制。2007 年进入 Linux 2.6.24 内核,CGroups 不是全新创造的,它将进程管理从 cpuset 中剥离出来,作者是 Google 的 Paul Menage。CGroups 也是 LXC 为实现虚拟化所使用的资源管理手段。
CGroup 是将任意进程进行分组化管理的 Linux 内核功能。CGroup 本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O 或内存的分配控制等具体的资源管理功能是通过这个功能来实现的。这些具体的资源管理功能称为 CGroup 子系统或控制器。CGroup 子系统有控制内存的 Memory 控制器、控制进程调度的 CPU 控制器等。运行中的内核可以使用的 Cgroup 子系统由/proc/cgroup 来确认。
CGroup的主要功能:
资源限制,可以将组设置为不超过配置的内存限制,其中还包括文件系统缓存[8] [9]
优先次序,一些组可能会在CPU利用率或磁盘I / O吞吐量中获得更大份额。
会计,衡量组的资源使用情况,例如可用于计费目的
控制,冻结进程组,记录检查点并重新启动
CGroup常见的子系统包括:
blkio 对块设备(比如硬盘)的IO进行访问限制
cpu 设置进程的CPU调度的策略,比如CPU时间片的分配
memory 用于控制cgroup中进程的占用以及生成内存占用报告
net_cls 使用等级识别符(classid)标记网络数据包,这让 Linux 流量控制器 tc (traffic controller) 可以识别来自特定 cgroup 的包并做限流或监控
net_prio 设置cgroup中进程产生的网络流量的优先级
hugetlb 限制使用的内存页数量
pids 限制任务的数量
ns 可以使不同cgroups下面的进程使用不同的namespace.
每个subsystem会关联到定义的cgroup上,并对这个cgroup中的进程做相应的限制和控制.
简单的讲,利用CGroup,可以控制能使用的资源的量。
有了Namespace和CGroup这两个特性,容器做到了控制资源隔离和访问的量。但是我们还是需要方便的管理功能和接口,Docker在容器的基本功能的基础上提供了出色的管理功能和接口,成为了容器领域里的事实标准,我们一般说容器,默认的是用Docker的技术。
最新活动更多
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024先进激光技术博览展
-
精彩回顾立即查看>> 全数会2024中国深圳智能制造与机器人展览会
-
精彩回顾立即查看>> 2024(第五届)全球数字经济产业大会暨展览会
-
精彩回顾立即查看>> 维科杯·OFweek2024中国工业自动化及数字化行业年度评选
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论