跳转到节

容器与虚拟机

复制URL

Red Hat被提名为2023年Gartner®Magic Quadrant™的领导者

在Gartner 2023集装箱管理幻方图中,Red Hat在执行能力方面排名最高,在实现愿景方面排名最靠前。

集装箱虚拟机(VM)是两种打包计算环境的方法,这些环境组合了各种IT组件,并将它们与系统的其余部分隔离开来。这两种方法的主要区别在于哪些组件是独立的,这反过来又影响了每种方法的规模和可移植性。

 

容器是一个软件单元,它将应用程序运行所需的所有组件和功能集合在一起。大多数现代应用程序都由多个容器组成,每个容器执行特定的功能。容器通常以兆字节为单位进行度量,不使用管理程序,通常被认为是处理进程隔离的一种更快、更灵活的方式。

容器成功的一个重要因素是可移植性。就像互连的乐高™积木一样,单个容器可以很容易地交换并移动到不同的环境中。一旦将应用程序及其依赖项打包到一个容器中,就可以将其部署到任何需要的地方—开发人员笔记本电脑、数据中心、云或边缘—期望其功能完全相同。

码头工人是一个用于构建、部署和管理集装箱化应用程序的开源平台,多年来在集装箱技术的发展中发挥了重要作用。 

虚拟机在云计算中扮演着至关重要的角色,它通过在孤立的实例中运行操作系统来模拟物理计算机。多个虚拟机通常托管在一台服务器上,虚拟机监控程序充当物理主机和虚拟机之间的轻量级软件层。此虚拟机监控程序有效地管理对资源的访问,使虚拟机能够作为不同的服务器运行,同时提供了增强的灵活性和敏捷性。

由于整合和节约成本的举措,虚拟机的使用最初在21世纪受到欢迎,但随着时间的推移,虚拟机也在不断发展。组织已经成熟了他们的VM部署,扩展到了整合以外的各种用例。其中包括为应用程序提供按需资源,以及优化对GPU等昂贵资源的访问。

虚拟机还作为许多早期云计算环境的基础,促进了资源虚拟化并支持多租户和隔离,即多个客户运行共享相同资源的系统。

虚拟机包含自己的操作系统,允许它们同时执行多个资源密集型功能。虚拟机可用资源的增加使它们能够抽象、拆分、复制和模拟整个服务器、操作系统、桌面、数据库和网络

除了技术差异之外,将容器与虚拟机进行比较是现代云计算IT实践与传统IT架构之间的代理比较。 

新兴IT实践 
(云阴性发展CI/CD,以及开发运营)之所以可能,是因为工作负载被划分为尽可能最小的可用单元(通常是一个功能或微服务),并独立运行,在那里独立开发、部署、管理和扩展。

这些小单元最好打包在容器中,这样可以让多个团队在不中断或威胁其他容器中打包的代码的情况下处理应用程序或服务的各个部分。

传统IT架构
(单片和遗留)使工作负载的各个方面紧密耦合,如果没有更好的体系结构,就无法工作。因为方面不能分割,所以需要在更大的环境(通常是VM)中将它们打包为一个整体单元。

在虚拟机中构建和运行整个应用程序曾经很常见,但将所有代码和依赖项放在一个位置会导致超大虚拟机,在推送更新时会出现级联故障和停机。

 

虚拟化与容器

虚拟化

称为虚拟机监控程序的软件将资源与其物理机器分离,以便将其分区并专用于VM。当用户发出需要来自物理环境的额外资源的VM指令时,系统管理程序会将请求中继到物理系统并缓存更改。虚拟机的外观和行为类似于物理服务器,这可能会加剧应用程序依赖性和操作系统占用空间大的缺点,而运行单个应用程序或微服务基本上不需要占用空间。

集装箱

容器中的所有内容都使用容器映像进行打包和发货,该映像是一个包含所有库和依赖项的文件。容器映像文件类似于软件安装包(例如Linux中的RPM),但它只需要一个兼容的内核和容器运行时,应用程序才能运行,而不管使用哪个操作系统创建容器,也不管容器中的库是从何处来的。因为容器很小,所以通常有数百个容器松散地连接在一起,这就是为什么容器编排平台(如红帽OpenShift库伯内特斯)用于提供和管理它们。

这取决于—您需要一个易于移动的小实例(容器),还是需要半永久性地分配定制IT资源?

需要考虑的其他因素包括应用程序架构、开发实践、安全性和法规要求。

容器的小而轻的特性使它们可以轻松地部署在裸机系统以及公共、私有、混合和多云环境中。在虚拟机中运行容器也是很常见的,因为组织有围绕虚拟机构建的现有基础结构。这说明了容器的灵活性。 

容器也是部署当今云应用的理想环境,云应用是旨在提供一致开发和自动化 管理体验公众的私有的混合的,以及多云环境。云计算应用程序有助于加快新应用程序的构建、现有应用程序的优化以及它们之间的连接。 

与虚拟机相比,容器最好用于:

  • 构建云计算应用程序
  • 打包微服务
  • 将应用程序纳入DevOps或CI/CD实践
  • 跨不同的IT足迹移动可扩展的IT项目

与容器相比,虚拟机最好用于:

  • 容纳传统的、遗留的和单一的工作负载
  • 隔离风险开发周期
  • 准备金基础设施资源(如网络、服务器和数据)
  • 在另一个操作系统中运行不同的操作系统(例如在上运行UnixLinux操作系统)

 

如果您的应用程序同时在虚拟机和容器上运行,Red Hat服务互连可以帮助跨不同环境连接应用程序和服务。

虚拟机和容器可以部署在各种类型的基础设施上,包括裸机服务器。

什么是裸金属?

“裸机”是一个术语,指在物理硬件上运行的计算机或服务器,不需要虚拟机监控程序、虚拟机或容器化的协助即可运行。裸机服务器也称为专用服务器,这是因为硬件组件不与其他用户共享,因此完全专用于单个租户。

裸机服务器能够以低延迟处理大量数据,即速度快、功能强大。使用裸机,用户可以完全控制其服务器基础设施,这意味着他们可以选择自己的操作系统,并微调硬件和软件以适应其特定的工作负载需求。

然而,尽管裸机部署在性能和直接硬件访问至关重要的情况下很有价值,但它们可能无法提供与容器或虚拟机相同级别的灵活性和资源管理。

我可以在裸机上托管虚拟机吗?

是的,通过添加虚拟机监控程序和虚拟化软件,裸机服务器能够承载虚拟机。

我可以在裸金属上放置容器吗?

是的,Docker、Kubernetes和Podman等平台旨在帮助用户在包括裸机服务器在内的许多基础设施上大规模管理和部署容器。 

Red Hat®OpenShift®是一个单一的基于企业容器的应用程序平台,可选择部署和使用选项,支持每个应用程序和环境。使用Red Hat OpenShift,组织可以在任何地方安全地大规模快速构建、部署、运行和管理应用程序。 

红帽OpenShift虚拟化是Red Hat OpenShift的一项功能,允许IT团队运行虚拟机与同一Kubernetes平台上的容器一起,简化了管理并缩短了生产时间。  

这使组织能够从其现有的虚拟化投资中获益,同时利用现代应用程序平台的简单性和速度。通过将虚拟机集成到OpenShift应用程序平台中,它为应用程序开发和部署提供了一致的环境。开发人员可以更快地构建、测试和部署应用程序,加快上市时间。

继续阅读

第条

什么是Linux容器?

Linux容器是一组与系统隔离的进程,从一个不同的映像中运行,该映像提供了支持进程所需的所有文件。

第条

容器与虚拟机

Linux容器和虚拟机(VM)是组合了各种IT组件并将其与系统其余部分隔离的打包计算环境。

第条

什么是容器编排?

容器编排自动化了容器的部署、管理、扩展和联网。

有关容器的详细信息

产品

一个企业应用程序平台,具有一组经过测试的统一服务,可根据您选择的基础设施将应用程序推向市场。

资源

播客

《命令行英雄》第1季第5集:
“集装箱德比”

电子图书

通过混合云和容器提高灵活性

培训

免费培训课程

使用Red Hat运行容器技术概述

免费培训课程

容器、Kubernetes和Red Hat OpenShift技术概述

免费培训课程

使用微服务架构开发云计算应用程序