当前位置:网站首页>云原生技术--- 容器知识点

云原生技术--- 容器知识点

2022-07-06 14:48:00 北漂的菜小白

本文部分内容摘录自CNCF官方公众号:链接地址

关于资源

服务器的任何资源都是宝贵的,特别是CPU,但是实际生产活动中,资源的使用率,却不是很高,能占用服务器50%就已经很不错了

如何节约资源

合理的分配资源是充分利用服务器,降低成本最有效的方式,最简单有效的方式,就是使用容器

为什么容器相比VM可以提升资源利用率?

  1. 虚拟化自身的资源隔离占用 10%,容器自身占用不超过1%。这是因为Docker 利用的是宿主机内核,而不需要Guest OS。因此,当新建一个容器时,Docker 不需要和虚拟机一样重新加载一个操作系统,这就避免了引导、加载操作系统内核这个比较费时费资源的过程。

  2. 当新建一个虚拟机时,虚拟机软件需要加载 Guest OS,这个新建过程是分钟级别的,而 Docker 由于直接利用宿主机的操作系统则省略了这个过程,容器的启动只需要它们所必需的运行环境,包括文件系统、系统类库、shell 环境。因此启动比虚拟机更加轻量。

  3. 容器与虚拟化的定位和能力上的不同,也使得应用跑在容器中更能充分的利用资源。主要包括如下几点:

  • 容器使用资源的时候,可以基于 Limit/Request 机制,给予容器弹性资源配置。
  • 容器极度简单/自动的扩缩容能力,可以让应用在部署的时候,可以不用一开始就按照最大资源需要配置资源,而只在需要的时候快速增加实例即可。
  • 容器在遇到故障或者资源抢占冲突的时候,可以自动迁移到别的有资源的节点。
    基于如上三点,使得资源可以更充分有效地利用

在这里插入图片描述

为什么容器更轻量,容器的机制是什么?

容器类似于 VM,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统(OS)。因此,容器被认为是轻量级的。容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。由于它们与基础架构分离,因此可以跨云和 OS 发行版本进行移植。

Docker 是 LXC(Linux Container) 和 AUFS(AnotherUnionFS) 一个组合:LXC 是负责资源管理,AUFS是负责镜像管理;包括 Cgroup,
Namespace,Chroot等组件,并通过 Cgroup 资源管理,三者实际上是一环套一环的。Cgroup是在底层落实资源管理,LXC 在 Cgroup 上面封装了一层,随后 Docker 又在 LXC 封装了一层。
在这里插入图片描述

原网站

版权声明
本文为[北漂的菜小白]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_42321034/article/details/125618108