找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 409|回复: 1

虚拟化技术概念&Docker概念剖析

[复制链接]

31

主题

20

回帖

279

积分

管理员

积分
279
发表于 2024-1-10 18:11:09 | 显示全部楼层 |阅读模式
1.1  虚拟化技术概述及简介

IT行业发展到今天,已经从传统技术、传统运维发展到当下的主流技术、自动化运维,未来掌握核心技术是赶上时代变化,拉开跟别人差距的最关键因素。当下主流的IT三大技术:虚拟化、云计算、大数据之一的虚拟化技术。虚拟化技术也越来越广泛的应用在企业中,例如百度、阿里巴巴、腾讯、京东、Google等。

通俗的说,虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构间的壁垒,计算元件运行在虚拟的基础上而不是真实的基础上,可以扩大硬件的容量,简化软件的重新配置过程。

虚拟化技术允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率,是一个为了简化管理,优化资源的解决方案。

虚拟化解决方案的底部是要进行虚拟化的物理机器,这台机器可能直接支持虚拟化,也可能不会直接支持虚拟化,那么就需要系统管理程序层的支持。虚拟机管理程序(Virtual machine monitor),或称为 VMM,可以看作是平台硬件和操作系统的抽象化,VMM本质是我们常说的虚拟化技术软件。

图片13.png

虚拟化技术的底层是要进行虚拟的硬件设备物理机资源,通过虚拟化技术软件可以将物理机虚拟生成N台虚拟机,应用程序、软件服务(Apache、Nginx、MYSQL、Redis、MQ、ZK、Kafka、CEPH、K8S、LVS、Keepalived、Jenkins)可以运行在虚拟机上,而不是直接运行在硬件设备物理机上。

虚拟化技术意义,主要是为了最大化的利用高配硬件设备的资源,提高物理机资源利用率,可以实现应用程序、软件服务进程资源隔离,可以淘汰老旧服务器资源,对老旧服务器资源进行重组、重用,实现企业服务器资源统一的管理和调度。

1.2  互联网虚拟化技术种类n KVM
  • Vmware ESXI
  • XEN
  • Docker
  • Hyper-V
  • Open-vz
  • Podman

1.3  Docker虚拟化技术概念



Docker是一款轻量级、高性能的虚拟化技术,是目前互联网使用最多的虚拟化技术,Docker虚拟化技术的本质类似集装箱机制,最早集装箱没有出现的时候,码头上有许多搬运的工人在搬运货物,集装箱出现以后,码头上看到更多的不是工人,而且集装箱的搬运模式更加单一,更加高效,还有其他的好处。

将货物多打包在集装箱里面,可以防止货物之间相互影响。并且到了另外一个码头需要转运的话,有了在集装箱以后,直接把它运送到另一个码头即可,完全可以保证里面的货物是整体的搬迁,并且不会损坏货物本身。

Docker技术机制跟集装箱类似,Docker虚拟化 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

Docker容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
Docker应该是近年最火爆的技术之一,如果没有听说过,那么你就out了,2022年将开启新的跨越。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。

Redhat 已经在其 RHEL6.5 中集中支持Docker;

Google 也在其 PaaS 产品中广泛应用,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。


Docker的基础是 Linux 容器(LXC)等技术。在LXC的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

下面对比了Docker 和传统虚拟化(KVM、XEN、Hyper-V、ESXI)结构层级方式的不同之处。

图为传统虚拟化结构图:

图片14.png

图为Docker虚拟化结构图:

图片15.png

Docker虚拟化技术概念&总结:

Docker虚拟化技术是在硬件的基础上,基于现有的操作系统层面上实现虚拟化,直接复用本地主机的操作系统,直接虚拟生成Docker容器,而Docker容器上部署相关的APP应用(Apache、MYSQL、PHP、JAVA)。

传统虚拟化技术概念&总结:

KVM、XEN、ESXI传统虚拟化(完全、半虚拟化)是在硬件的基础上,基于现有的操作系统层面上实现虚拟化,但是不能复用本地主机的操作系统,而是必须虚拟出自己的Guest OS系统,然后在Guest OS系统上部署相关的APP应用(Apache、MYSQL、PHP、JAVA)。

Docker虚拟化跟传统VM比较具有如下优点:
操作启动快
运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。

轻量级虚拟化
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。但是传统虚拟化,你虚拟10-20个虚拟机就不错了。

开源免费
开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。

前景及云支持
正在越来越受欢迎,包括各大主流公司都在推动docker的快速发展,性能有很大的优势。随着Go语言越来越被人熟知,Docker的使用也越来越广泛。

1.4  虚拟化技术实现方式

完全拟化技术
通过软件实现对操作系统的资源再分配,比较成熟,完全虚拟化代表技术:KVM、ESXI、Hyper-V;

半虚拟化技术
通过代码修改已有的系统,形成一种新的可虚拟化的系统,调用硬件资源去安装多个系统,整体速度上相对高一点,半虚拟化代表技术:Xen;

轻量级虚拟化
介于完全虚拟化、半虚拟化之间,轻量级虚拟化代表技术:Docker。




31

主题

20

回帖

279

积分

管理员

积分
279
 楼主| 发表于 2024-1-10 18:17:10 | 显示全部楼层

这东西我收了!谢谢楼主!
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表