从虚拟机到容器,详谈各种服务虚拟化技术及其应用场景

前言

近几年容器(Container)、Kubernetes等技术在数据中心、云计算、各互联网公司的业务服务中得到广泛应用,和20世纪60年代就兴起的虚拟机(Virtual Machine,VM)技术一样,容器也是一种服务虚拟化技术(Server Virtualization),但是它更加轻量,同时将焦点从Machine转移到Application,极大提高了开发、测试、生产环境部署的效率,不过其安全性和隔离性比虚拟机稍逊一筹,在一些场景下也无法完全替代虚拟机。本文主要从以下几部分来梳理虚拟机和容器技术,详细讲一下他们的区别与联系。

  • 为何需要服务虚拟化技术

  • 虚拟化技术分类

  • Host-based server virtualization(虚拟机)架构

  • OS virtualization(容器)架构

  • 内核对容器的支持

  • 虚拟机技术举例(VMWare ESXi)

  • 容器技术举例(Docker Container)

  • 虚拟化技术在云平台的应用( Google Cloud Platform, GCP )

为何需要服务虚拟化技术?

  1. 节省硬件资源(机房、服务器、冷却系统等),提高资源利用率12306网站的负载存在明显的峰值和低谷(节日前夕较大,春运最为明显,而在平时则比较低),若完全用实体服务器去抗峰值流量,在平时则会出现巨大浪费。通过服务虚拟化(Server Virtualization/Machine Virtualization)技术构建的云计算平台(Cloud Computer Platform)则可以有效解决这一难题,峰值时增加算力去满足购票需求,低谷时则将算力售卖出去以提高资源的利用率。腾讯云可以按照CPU、内存、存储(比如1C/1G/50GB)等方式对外提供服务,普通用户不用为购买服务器、搭建机房、规划网络访问、数据容灾而烦劳,就像购买水、电、煤气等基本市政服务一样。

  2. 逻辑资源整合通过虚拟机(Virtual Machine,简称VM)技术,多个不同的Guest操作系统(及运行在其上的各种应用程序)可以运行在一台物理服务器上面,例如,邮件服务器、数据库服务器、Web服务器等应用可以部署在一起,同时可以做到有效的隔离(资源和访问)。

  3. 服务器可移植性:Virtual Machine Monitor/Hypervisor屏蔽底层差异,同一Guest操作系统可以在硬件架构完全不同的服务器上运行(Mac,X86等),没有硬件依赖,它可以从一种硬件服务器迁移到另外一台完全不同的硬件服务器,不需要做改变和适配,用户无感知。

  4. 应用程序可靠性:虚拟机(VM)所在的硬件服务器损坏后,可以快速迁移到另外一台硬件服务器(都部署有Virtual Machine Monitor/Hypervisor),极大提高了其中运行的应用程序的可靠性。容器(Container)所在的Linux服务器无法访问后,容器管理者(比如,K8s)可以在另外一台Linux服务器创建一个新容器,业务不会受到影响。(借助虚拟机技术,容器也可以在非Linux服务器上运行,Gu

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值