当前位置:首页 > 虚拟机 > 正文

容器部署和虚拟机部署


一、Docker这样的容器技术与虚拟化技术的区别是什么?Docker是一个开源应用程序容器引擎,允许开发人员将其应用程序和依赖项打包到可移植容器中,然后将其部署在任何流行的Linux机器上,这些机器也可以虚拟化。容器使用完全沙盒机制,并且彼此之间没有任何接口(类似于iPhone应用程序)。几乎没有性能开销,可以轻松地在硬件和数据中心上运行。最重要的是,它不依赖于任何语言、框架或系统。
docker网站上提到了典型的docker场景:
应用程序打包和部署的自动化
创建轻量级和私有的PAAS环境
自动化测试和持续集成/部署
部署和扩展Web应用程序、数据库和后端服务。因为是基于LXC的,所以虚拟化的特点相对于KVM之类来说是轻量级的,docker最明显的特点就是启动快、资源占用小。因此,需要构建隔离统一的运行环境,轻量级的PaaS(如dokku),构建自动化测试和持续集成环境,以及所有可以水平扩展的应用程序(尤其是需要快速启动和停止的Web应用程序)处理高峰和低谷)。
为了构建统一的运行环境,目前大多数的解决方案都是在底层操作系统上运行一组puppet/chef或者一个镜像文件。缺点是前者对底层操作系统要求很多先决条件,而后者无法修改(因为copyonwrite文件格式在rootfs运行时是只读的)。而且最后的文件体积较大,环境管理和版本控制本身也是一个问题。
PaaS环境从设计之初和dotcloud状态就很直观,并因其统一的构建方法(构建文件)和良好的REST而被用作PaaS产品的环境基础
。API、自动化测试、可以很好的与持续集成/部署结合
由于LXC的轻量级特性,启动很快,而且docker可以只加载每个容器变化的部分,所以消耗资源很少,可以用在在独立环境中,KVM等虚拟化解决方案速度更快,消耗的资源更少。
虚拟化是一个广泛的术语,在计算机中通常指的是在虚拟基础上运行的计算元素,而不是真实的计算元素。
虚拟化最初是指资源抽象,即单个物理资源的多个逻辑表示,或者多个物理资源的单个逻辑表示。具体到服务器虚拟化,它是多个物理资源的单一逻辑表示。
虚拟化技术可以扩展硬件能力并简化软件重新配置。CPU虚拟化技术可以用单个CPU模拟多个CPU并行,允许一个平台同时运行多个操作系统,应用程序可以在独立的空间运行而不会互相影响,从而大大提高计算机的工作效率。
在实际生产环境中,虚拟化技术主要用于解决高性能物理设备容量过剩以及低容量遗留设备的重组和复用问题,并使底层物理设备变得透明,从而最大化物理设备的利用率。


二、容器和虚拟机区别1.容器和虚拟机具有相同的使命:隔离应用程序及其依赖项,以构建可以在任何地方运行的独立单元。此外,容器和虚拟机还消除了对物理硬件的需求,使我们能够更有效地使用计算资源,从而提高能源效率和成本效益。
2.虚拟机将虚拟硬件、内核(即操作系统)和用户空间打包成一个新的虚拟机。虚拟机可以使用“虚拟机管理程序”在物理设备上运行。虚拟机依赖于虚拟机管理程序,虚拟机管理程序通常安装在“裸机”系统硬件上,导致虚拟机管理程序在某些方面被视为操作系统。一旦安装了虚拟机管理程序,就可以从系统的可用计算资源中分配虚拟机实例,每个虚拟机都获得唯一的操作系统和工作负载(应用程序)。简而言之,虚拟机首先需要虚拟化物理环境,然后构建一个完整的操作系统,然后构建一个运行时层供应用程序运行。
3.对于容器环境,不需要安装主机操作系统,容器层(例如LXC或libcontainer)直接安装在主机操作系统(通常是Linux变体)上。安装容器层后,可以从可用的系统计算资源中配容器实例,并在容器中部署企业应用程序。然而,每个容器应用程序将共享相同的操作系统(单主机操作系统)。容器可以被视为安装了一组特定应用程序的虚拟机。它直接使用主机内核。它比虚拟机具有更少的抽象层,更轻,并且启动速度非常快。4.与虚拟机相比,容器具有更高的资源利用效率,因为它们不需要为每个应用程序分配单独的操作系统——实例尺寸更小,创建和传输的速度也更快。这意味着单个操作系统可以承载比虚拟机更多的容器。云提供商对容器技术特别感兴趣,因为可以在同一硬件设备上部署更多容器实例。此外,容器很容易迁移,但它们只能移动到具有兼容操作系统内核的另一台服务器,这限制了迁移选项。由于容器不像虚拟机那样包装内核或虚拟硬件,因此每组容器都有自己独立的用户空间,允许多组容器在同一主机系统上运行。我们可以看到,所有操作系统级架构都可以跨容器共享,唯一需要独立构建的就是二进制文件和库。因此,该容器具有非常轻的特性。


三、容器云是什么技术?对比于虚拟机有什么特点?容器云是近几年云计算技术中的新兴产品形态。容器从计算形式上来说是轻量级的虚拟化技术。与传统的GuestOS内核级封装不同,容器服务是进程级虚拟化形式的封装。启动速度和部署速度都非常快。可以根据资源需求在应用层面进行快速部署和调度。生命周期高速变化。
容器云的出现主要是由于时代的发展趋势。2010年,国外Cloud、Docker等容器技术刚刚落地,这恰恰凸显了云计算的一个清晰的真相。此后,K8s、Docker等技术变得非常流行。
与传统虚拟机相比,容器云有哪些特点?
1:可移植性
目前容器技术主要体现在应用容器化(Docker)和系统容器化。这两种形式的容器都允许IT团队从底层架构中提取程序代码,从而实现跨各种部署环境的可移植性。
二:轻量级
容器通常部署在物理服务器及其主机操作系统上。他们可以通过单个操作系统安装运行多个工作环境。因此,容器云特别“轻”,几乎不需要安装。几秒钟后就会开始。
三:降低成本
与传统虚拟机相比,提高CPU、内存和存储效率是容器技术的最大优势。通过在同一基础设施上支持更多容器,减少这些资源会化为巨大的成本,同时显着降低管理开销。