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


    本文部分内容摘录自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 封装了一层。
    在这里插入图片描述

  • 相关阅读:
    国际结算重点完整版
    主数据管理是数字化转型成功的基石——江淮汽车案例分享
    动态代理(CGlib和jdk)
    笔记:KMP的复习
    【电源专题】接地的类型
    高等教育学:教学理论
    MLX90640 开发 微型红外成像仪
    产教融合共发展 | 开源网安高校合作战略再下一城
    English语法_介词 - on
    100000开发的系统,执意重构钱多执念?
  • 原文地址:https://blog.csdn.net/weixin_42321034/article/details/125618108