精华内容
下载资源
问答
  • 5.虚拟机容器的比较 6.结论 本文的范围是比较可用于我们的应用程序部署用例的各种部署模型。本文假设读者将具备虚拟机容器和管理程序的基本知识。 1.简介 有一系列技术可用于将应用程序部署到生产环境,选择...

    目录

    1.简介

    2.部署用例

    3.部署选项

    3.1单服务器

    3.2虚拟机

    3.3容器

    4.资源利用比较

    5.虚拟机和容器的比较

    6.结论


    本文的范围是比较可用于我们的应用程序部署用例的各种部署模型。本文假设读者将具备虚拟机,容器和管理程序的基本知识。

    1.简介

    有一系列技术可用于将应用程序部署到生产环境,选择正确的策略是特定用例的重要决策。在本文中,我们将主要关注为内部构建的应用程序选择正确的部署模型。

    2.部署用例

    让我们考虑两个应用程序,文件下载器文件处理器。功能详细信息如下表所述:

    https://www.codeproject.com/KB/architecture/1277634/DeploymentUsecase.png

    请注意,我们有一个具有100GB HDD16 GB RAM4个核心处理器的物理服务器

    我们的目标是将两个应用程序部署到此服务器,以实现基础架构的最佳利用和更好的性。

    3.部署选项

    下图显示了可供我们使用的各种部署选项。

    https://www.codeproject.com/KB/architecture/1277634/DeploymentOptions.png

    3.1单服务器

    在此选项中,两个应用程序都部署在单个可用服务器中。

    3.2虚拟机

    在此选项中,我们将使用管理程序(Hypervisor)将可用服务器拆分为两个虚拟机。管理程序(Hypervisor),也称为虚拟机监视器/管理程序,是一个创建和运行虚拟机的过程。管理程序允许一台主机通过虚拟共享其资源(如内存和进程)来支持多个来宾VM(虚拟机)

    有两种类型的管理程序如下:

    类型1 - 直接在系统硬件上运行,例如,适用于MacOSHyper Kit,适用于WindowsHyper-V和适用于LinuxKVM

    类型2(托管) - 在提供虚拟化服务的主机操作系统上运行。示例:VirtualBoxVMWare

    上图使用类型1 Hypervisor

    每个VM都有客户操作系统,我们计划在VM1中部署文件下载器,在VM2中部署“ 文件处理器 ”

    由于File Downloader应用程序消耗更多内存,因此与VM2相比,我们需要为VM1分配更多内存限制。

    由于文件处理器应用程序消耗更多的处理器时间,因此与VM1相比,我们需要为VM2分配更多的CPU核心限制。

    通过这种方式,我们可以最佳地利用服务器资源。

    3.3容器

    在此选项中,我们将在现有操作系统之上安装容器引擎(例如,Docker Engine)。我们将创建两个容器来托管File DownloaderFile Processor应用程序。

    由于File Downloader应用消耗更多内存,因此与Container 2相比,我们需要为Container 1分配更多内存限制。

    由于File Processor应用程序消耗更多处理器时间,因此与容器1相比,我们需要为容器2分配更多CPU核心限制。

    通过这种方式,我们可以最佳地利用服务器资源。

    4.资源利用比较

    下图显示了我们到目前为止讨论的所有三个部署选项的资源利用率图表。

    https://www.codeproject.com/KB/architecture/1277634/ResourceUtilization.png

    根据利用率图表,我们注意到以下观察结果:

    1. 单个服务器部署提供的性能很差,因为两个应用程序共享相同的资源
    2. 虚拟机和容器部署都提供了几乎相同的性能。
    3. 虚拟机部署消耗更多资源。
    4. 单服务器和容器部署都提供了几乎相同的资源利用率。

    5.虚拟机和容器的比较

    下表显示了虚拟机和基于Container的部署之间的比较:

    SL

    虚拟机

    容器

    1

    重量大,性能有限

    重量轻,性能提高

    2

    每个VM都在自己的操作系统中运行,无法在普通服务器上运行更多虚拟机

    所有容器共享主机的相同内核,并且可以在普通服务器上运行更多容器

    3

    虚拟机需要几分钟才能启动

    容器需要几毫秒才能启动

    4

    浪费资源 - 每个VM需要更多空间和内存(GB条款)

    节省资源 - 每个容器需要更少的空间和内存(MB条款)

    硬件级虚拟化需要更多操作系统许可证和成本

    操作系统虚拟化,只需要一个操作系统许可证并降低成

    6

    VM正在运行物理文件的实例(.VMX.VMDK

    Container正在运行Container Image的实例

    7

    每个VM都有自己的虚拟网络适配器,IP和端口

    每个Container都有自己的虚拟网络适配器,IP和端口

    8

    虚拟机具有可扩展性,并具有专用磁盘空间,核心和内存分配

    容器是可扩展的,并带有专用磁盘空间,核心和内存分配

    9

    从另一个VM无法看到一个VM中的进程

    无法从另一个Container中看到一个Container中的进程

    10

    每个VM都有自己的根文件系统

    每个Container都有自己的根文件系统

    6.结论

    基于各种部署选项,资源利用率图表以及虚拟机、容器之间的比较,对于我们的用例,基于容器的部署选项为我们提供了具有良好性能的经济高效的解决方案。

     

    原文地址:https://www.codeproject.com/Articles/1277634/Application-Deployment-Strategy-Virtual-Machine-vs

    展开全文
  • 三、 Docker容器部署 前面是文字描述,后面有图片PPT 这里需要一个yum源,如果有需要的留言吧,或者自己网上找。我这里的文件名为Kubernetes.zip,因为Linux里不常用zip格式,这里我直接解压后用Vmware Tools...

    三、 Docker容器的部署

    前面是文字描述,后面有图片PPT

    这里需要一个yum源,如果有需要的留言吧,或者自己在网上找。我这里的文件名为Kubernetes.zip,因为Linux里不常用zip格式,这里我直接解压后用Vmware Tools放进虚拟机里了。也可以按照我后面的5.设置共享文件夹博客做好之后放入虚拟机。

    1) 放置yum源文件

    • 将Kubernetes.zip拷贝到虚拟机并解压
    • 将Kubernetes文件夹拷贝到root目录下,如果是root用户登录直接放在Home目录下即可

    2) 配置本地YUM源

    输入如下命令

    gedit /etc/yum.repos.d/local.repo
    

    在local.repo中编辑输入

    [kubernetes]
    name=kubernetes
    baseurl=file:///root/Kubernetes
    gpgcheck=0
    enabled=1
    

    3) 查看YUM源

    输入如下命令

    yum repolist
    

    4) 安装Docker

    输入如下命令

    yum install docker-ce
    

    中间会有**Is this ok [y/d/N]:选项,输入y**即可,完成安装后会显示Complete!

    5) 启动Docker

    输入如下命令

    systemctl start docker;systemctl enable docker
    

    6) 查看Docker

    输入如下命令

    docker info
    

    7) 安装相关的包

    输入如下命令

    yum install -y yum-utils device-mapper-persistent-data
    

    8) 重新加载服务

    依次输入如下命令

    systemctl daemon-reload
    

    再输入

    systemctl restart docker;systemctl enable docker
    

    9) 查看docker版本信息

    输入如下命令

    docker version
    

    容器的部署

    展开全文
  • 虚拟机容器有什么不同

    千次阅读 多人点赞 2020-07-20 23:00:06
    容器是新兴的事物,但是虚拟机已经并且继续各种规模的数据中心大受欢迎。 如果您正在寻找云中运行自己的服务的最佳解决方案,则需要了解这些虚拟化技术,了解它们之间的区别以及每种技术的最佳用途是什么。 什么...

    虚拟机和容器都可以充分利用计算机硬件和软件资源。容器是新兴的事物,但是虚拟机已经并且继续在各种规模的数据中心大受欢迎。

    如果您正在寻找在云中运行自己的服务的最佳解决方案,则需要了解这些虚拟化技术,了解它们之间的区别以及每种技术的最佳用途是什么。

    什么是虚拟机?

    虚拟机(VM)是计算机系统的仿真。简而言之,它可以在一台计算机的硬件上运行看似多台单独的计算机。

    操作系统(OS)及其应用程序共享单个主机服务器或主机服务器池的硬件资源。每个VM都需要自己的基础OS,并且硬件已虚拟化。系统管理程序或虚拟机监视器(Hypervisor)是创建和运行VM的软件。它位于硬件和虚拟机之间,是虚拟化服务器所必需的。

    由于虚拟化技术和云服务的出现,IT部门可以采用虚拟机(VM)作为降低成本和提高效率的一种方式。

    虚拟机系统架构图

    但是,VM会占用大量系统资源。每个VM不仅运行操作系统的完整副本,还需要运行操作系统所需的硬件虚拟副本。这大量消耗RAM和CPU资源。与运行单独的计算机相比,这仍然是经济的,但是对于某些应用程序来说,它可能会过大,这时候就需要容器。

    虚拟机的好处

    • 所有的操作系统资源
    • 已有的管理工具
    • 已有的安全工具
    • 众所周知的安全控制

    受欢迎的虚拟机提供商

    什么是容器?

    使用容器,可以像虚拟机(VM)一样虚拟化基础计算机,而无需虚拟化OS。

    容器位于物理服务器及其主机操作系统(通常为Linux或Windows)的顶部。每个容器共享主机OS内核,通常也共享二进制文件和库。共享组件是只读的。共享操作系统资源(例如库)可以大大减少重现操作系统代码的需求,并且意味着服务器可以通过安装单个操作系统来运行多个工作负载。因此,容器非常轻便-它们只有几兆字节大小,只需几秒钟即可启动。与容器相比,VM运行需要几分钟,并且比等效容器大一个数量级。

    与VM相比,容器需要操作系统,支持程序和库以及用于运行特定程序的系统资源。这意味着在单个服务器上放置容器的应用程序的数量是在VM上的两倍至三倍。此外,使用容器,您可以为开发,测试和部署创建一个可移植的,一致的操作环境

    集装箱系统架构图

    容器种类

    Linux容器(LXC) — 最初的Linux容器技术是Linux容器,通常称为LXC。LXC是Linux操作系统级别的虚拟化方法,用于在单个主机上运行多个隔离的Linux系统。

    Docker — Docker起初是一个构建单一应用程序LXC容器的项目,它对LXC进行了多次改造,使容器更加便携和灵活使用。后来它变成了自己的容器运行环境。从较高的层次上讲,Docker是一个Linux实用程序,可以有效地创建,运送和运行容器。

    集装箱的好处

    • 减少IT管理资源
    • 减少快照的大小
    • 更快地部署应用程序
    • 减少和简化安全更新
    • 更少的代码来传输,迁移和上传工作负载

    受欢迎的集装箱供应商

    虚拟机使用与容器使用

    容器和VM都有优点和缺点,最终的决定取决于您的特定需求,但是有一些通用的经验法则。

    • 当您需要在服务器上运行多个应用程序或需要管理多种操作系统时,VM是运行需要所有操作系统资源和应用程序的更好选择。
    • 当您的首要任务是在最少数量的服务器上最大化运行的应用程序数量时,容器是一个更好的选择。

    虚拟机与容器有什么不同

    虚拟机容器
    重量级轻量级
    性能有限本机性能
    每个VM都在自己的OS中运行所有容器共享主机操作系统
    硬件级虚拟化操作系统虚拟化
    启动时间(以分钟为单位)启动时间(以毫秒为单位)
    分配所需的内存需要更少的内存空间
    完全隔离,因此更安全进程级隔离,可能不太安全

    对于大多数人来说,能够同时包含这两者是最理想的。在当前的虚拟化技术下,VM的灵活性和容器的轻量共同作用,以提供具有最大功能的环境。

    如果您的组织正在运行同一操作系统的大量实例,则应研究容器是否合适。它们可能会为您节省大量的时间和金钱。

    展开全文
  • 虚拟机容器

    2021-05-26 20:59:23
    1.虚拟机:虚拟化硬件 虚拟机 Virtual Machine 指通过软件模拟的具有完整硬件...在容器技术之前,业界的网红是虚拟机虚拟机技术的代表,是 VMWare 和 OpenStack。2.容器:将操作系统层虚拟化,是一个标准的软件单元

    在这里插入图片描述1.虚拟机:虚拟化硬件
    虚拟机 Virtual Machine 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的 CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。在容器技术之前,业界的网红是虚拟机。虚拟机技术的代表,是 VMWare 和 OpenStack。2.容器:将操作系统层虚拟化,是一个标准的软件单元随处运行:容器可以将代码与配置文件和相关依赖库进行打包,从而确保在任何环境下的运行都是一致的。高资源利用率:容器提供进程级的隔离,因此可以更加精细地设置 CPU 和内存的使用率,进而更好地利用服务器的计算资源。快速扩展:每个容器都可作为单独的进程予以运行,并且可以共享底层操作系统的系统资源,这样一来可以加快容器的启动和停止效率。3.区别与联系虚拟机虽然可以隔离出很多「子电脑」,但占用空间更大,启动更慢。虚拟机软件可能还要花钱,例如VMWare;容器技术不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境,类似「沙箱」;运行空间,虚拟机一般要几 GB 到 几十 GB 的空间,而容器只需要 MB 级甚至 KB 级;我们来看一下对比数据:与虚拟机相比,容器更轻量且速度更快,因为它利用了 Linux 底层操作系统在隔离的环境中运行。虚拟机的 Hypervisor 创建了一个非常牢固的边界,以防止应用程序突破它,而容器的边界不那么强大。物理机部署不能充分利用资源,造成资源浪费。虚拟机方式部署,虚拟机本身会占用大量资源,导致资源浪费,另外虚拟机性能也很差。而容器化部署比较灵活,且轻量级,性能较好。虚拟机属于虚拟化技术,而 Docker 这样的容器技术,属于轻量级的虚拟化。

    展开全文
  • Istio诞生kubernetes中,与kubernetes完美的融合同时又是kubernetes微服务治理方向的补充,其基于PAAS平台基于网络的无侵入的微服务解决方案来构建Service Mesh体系是最大的亮点和价值之处。 问题:对于...
  • 虚拟机容器的区别

    2019-11-12 14:47:36
    虚拟机容器的区别 虚拟机 虚拟机技术 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以...
  • 在虚拟机中运行容器,已经成为一种实践中的惯例,比如,AWS的container服务就是只运行在虚拟机中的。关于容器docker和虚拟化技术Docker守护进程可以直接与主操作系统进行通信,为各个Docker容器分配资源;它还可以将...
  • 虚拟化负责部署容器能够使用的资源。这些虚拟机是容器能够其中运行的环境,但容器不受制于虚拟环境。 虚拟机的容量有限,因为创建它们的虚拟机监控程序受制于计算机的有限资源。相反,容器与运行时环境共享相同的...
  • 虚拟机容器的区别

    2019-12-04 17:49:01
    因为虚拟机已经是比较普及和成熟的技术,所以文章主要重点是介绍一下容器,然后容器虚拟机的区别。 首先我们来看一下虚拟机容器的架构图: 架构图 虚拟机 图中左侧是虚拟机的架构。从左图中看出,我们有...
  • 本文讲的是CoreOS 基于容器部署虚拟机【编者的话】本文是介绍CoreOS基于容器部署虚拟机的实践和思考,这种非传统思维...目前,大多数IT组织选择在虚拟机部署容器,因为他们已经有了一系列工具来管理虚拟机虚拟机...
  • 容器也是一种服务虚拟化技术(ServerVirtualization),但是它更加轻量,同时将焦点从Machine转移到Application,极大提高了开发、测试、生产环境部署的效率,不过其安全性和隔离性比虚拟机稍逊一筹,一些场景下也...
  • ![图片说明](https://img-ask.csdn.net/upload/202005/20/1589965371_744144.png) ![图片说明](https://img-ask.csdn.net/upload/202005/20/1589968514_381923.png) ![图片说明]...
  • 文章目录资源隔离的两种主要方案虚拟机VS容器容器技术的资源隔离从容器到Docker 资源隔离的两种主要方案   服务器或者大型计算机集群中,往往需要运行大量作业和应用,为保证这些作业和应用的进程之间互不干扰,...
  • Calico 除了为 OpenStack VMs ...能够方便的部署在物理服务器,虚拟机(如 OpenStack)或者容器环境下。同时它自带的基于 Iptables 的 ACL 管理组件非常灵活,能够满足比较复杂的安全隔离需求。 标签:Calico
  • 虚拟机容器有什么异同呢??接下来详细阐述 一、虚拟机技术 虚拟机(VM)是计算机系统的仿真。简而言之,它可以实际上是一台计算机的硬件上运行看似多台单独的计算机。 操作系统(OS)及其应用程序共享...
  • 物理机、虚拟机容器的比较(一)

    万次阅读 多人点赞 2018-05-23 21:39:33
    一、物理机二、虚拟机三、容器
  • 容器是新兴的事物,但是虚拟机已经并且继续各种规模的数据中心大受欢迎。 如果您正在寻找云中运行自己的服务的最佳解决方案,则需要了解这些虚拟化技术,了解它们之间的区别以及每种技术的最佳用途是什么。 什么...
  • 俗话说,学好虚拟化走遍宇宙都不怕,但对于计算机方面的初学者,肯定很多人都好奇为什么要使用虚拟机容器,而不是直接使用多进程来运行多个业务。下面Mr chen就带大家一起浅谈浅谈三者的区别。 首先用三张图很...
  • 戳蓝字“CSDN云计算”关注我们哦!云计算的发展日新月异,新技术层出不穷,尤其容器技术自2013年Docker容器问世以来一路高歌猛进红遍大江南北,与虚拟机相比,容器更显...
  • 上一章,介绍了虚拟化技术的优点,下面介绍容器技术。(一)容器Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的cgroup,namespace,...(二)容器的概念一般来说,虚拟机都会有自己的ke...
  • 现在很看好把容器构建车给一个分布式服务。目前比较成熟的就是Google的Kubernetes,这是一款开源的容器...4.Docker上构建Hadoop平台 作为一种特殊的镜像软件,要制作特定的软件镜像,Docker有其自己的安装打包方式
  • Docker下载Docker镜像(获取yum源)启动docker容器管理工具生态运行容器的条件下载容器镜像下载一个系统类容器镜像运行一个容器使用容器部署wordpress准备部署wordpress需要的镜像文件准备docker-compose工具准备...
  • Refer:docker容器虚拟机有什么区别? 大概两年前 当自己屁都不会的时候 就遇到了docker的概念,两年过去了 别的东西多多少少都理解一些了 但是docker究竟是什么还是不明白。加上又想到了当时安装那些docker什么的...
  • 如果运行物理机上,那么资源会最大程度的得到利用,但是会牺牲一定的隔离性及安全性,特别是企业没有规范的CI/CD镜像交付流程时,不同租户的容器会相互影响。 如果运行在虚拟机上,那么隔离性和安全性都会强于...
  • 我们经常说,“HTTPS很安全”或者“HTTP不安全”,但其实我们的意思是...此外,如果我们支持HTTPS的常见部署中发现可利用的漏洞,HTTPS可成为黑客网关,直到漏洞被修复。 HTTP和HTTPS是IETF RFCs 7230-7237和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,797
精华内容 26,318
关键字:

在虚拟机部署容器