zoukankan      html  css  js  c++  java
  • 虚拟化与容器区别

    虚拟化特点:

    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实现对外通信。)

  • 相关阅读:
    xml学习_上篇
    回首博客 年满一周年,记录90个点滴瞬间
    编写PHP代码总结
    代码高亮插件SyntaxHighlighter
    记忆,是一座沙城!
    dreamweaver中的 map怎么调用?_制作热点图像区域
    手机端rem如何适配_rem详解及使用方法
    彻底弄懂css中单位px和em,rem的区别
    JavaScript学习方法
    10条建议让你创建更好的jQuery插件
  • 原文地址:https://www.cnblogs.com/dahuige/p/15177429.html
Copyright © 2011-2022 走看看