1.虚拟化技术的概念
- 虚拟化技术主要是将物理的资源转变为逻辑上可以管理的资源,以打破物理资源结构之间的壁垒,让计算的元件运行在虚拟的基础上,而不是直接运行在物理的资源上。
- 虚拟化技术的底层是要进行虚拟的硬件设备物理机资源,通过虚拟化技术软件可以将物理机虚拟生成N台虚拟机,应用程序、软件服务(Nginx、Mysql、Redist、MQ、ZK、CEPH、Hadoop)运行在虚拟机上,而不是直接运行在硬件设备资源上。
2.虚拟化技术的意义
- 虚拟化技术主要是为了最大化的利用高配置硬件设备的资源,提高物理资源的利用率,可以淘汰老旧服务器资源,对老旧服务器资源进行重组,重用。可以实现对企业服务器资源进行统一的调度和管理,加快企业自动化运维&Devops的脚步教程。
3.虚拟化技术的种类
- VMware Esxi
- XEN
- KVM
- Open-vz
- Typer-v
- Docker
4.docker虚拟化技术的概念
- Docker 是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。其针对传统部署方式资源占用高、启动速度慢、环境差异导致的应用部署困难、迁移困难问题均可通过 docker 解决。传统环境部署方式是在首先需要在物理机上进行 1 天或者更长虚拟化,且当虚拟机运行时无论何种情况下都需要占用全部分配给它的资源,相比之下 Docker 虚拟化技术有如下优势:
- 1)更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都2要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。“
2)更快速的启动:“传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。“
3)提供一致的运行环境:“3开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境确保了应用运行环境一致性,从而不会再出现[这段代码在我机器上没问题啊]诸如此类的问题。
5.Docker官方要求部署Docker平台的底层Linux操作系统对应的Linux内核版本至少3.8+,在实际的企业生产环境中,推荐Linux内核至少3.10+,对应的Linux操作系统发行版本:
- RHEL 7.x
- Centos 7.x
- Ubuntu 16.x