首页 > 其他 > 详细

虚拟化与容器区别

时间:2021-08-23 23:09:55      阅读:37      评论:0      收藏:0      [点我收藏+]

虚拟化特点:

1.虚拟化需要单独安装操作系统

2.运行在R3中,与硬件交互通过vmm(Hypervisor)进行转换。

3.目前主流的三种:

  • 全虚拟化(通过二进制翻译 R3指令交互到R0中的vmm由vmm将指令与硬件设备交互)对操作系统没有任何更改
  • 操作系统辅助的半虚拟化(直接将虚拟化主机系统运行于R0中与虚拟化层进行交互,可以提高效率改善性能)需要修改操作系统内核。
  • 硬件辅助虚拟化(cpu支持虚拟化,cpu支持多个系统工作Ring0,vmm工作在根模式下根模式是为了执行特定的cpu指令增加的模式)需要硬件支持

4.使用两种镜像

技术分享图片

 

 

 

容器特点:

1.容器不需要创建额外开销的系统(容器基础镜像相对于传统系统来说要小很多,因为在操作系统中分为bootfs,rootfs。大多数发行版的区别在于rootfs的不同包括etc bin root proc等目录,所以容器会共用宿主机bootfs文件。将镜像分成pull的时候一一加载进基础镜像的文件目录中,无依赖关系的称之为基础镜像。在其之上构建的分层镜像属于父子关系)

2.容器的网络,pid,cgroup,mount namespace等都是通过linux内核中自带的namespace来实现(通过pid创建namespace将其他资源挂载到该pid中,pid之下的namespace中生成的子进程可以与其他pid之下的子进程号一样。所以k8s中监测的很重要一环就是pod中进程为0的程序,mount exec等操作都是/proc/父进程id/目录/ ,网络创建虚拟网卡并link到docker0中,docker0与etcd共享网络空间,通过nat实现对外通信。)

 

虚拟化与容器区别

原文:https://www.cnblogs.com/dahuige/p/15177429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!