您当前的位置是:  首页 > 技术 > 企业通信 > 白皮书 >
当前位置:首页 > 技术 > 企业通信 > 白皮书 > 白皮书:OpenStack与容器的相遇相知(上)

白皮书:OpenStack与容器的相遇相知(上)

2018-05-28 09:55:27   作者:   来源:开源云中文社区   评论:0  点击:


  想象一下,你的任务是从头开始构建整个私有云基础设施。预算有限 ,团队不大,被要求创造一个奇迹。
  几年前,你可以构建一个在虚拟机中运行应用程序的基础设施,其中一些裸机用于传统应用程序。随着基础设施的发展,虚拟机(VM)实现了更高水平的效率和敏捷性,但单靠虚拟机并不能完全满足敏捷应用部署的需求。它们继续作为运行许多应用程序的基础,但越来越多的开发人员关注容器的发展趋势,以更好地开发和部署应用程序——因为容器提供了更高级别的敏捷性和效率。
  像Docker和Kubernetes这样的容器技术正在成为构建容器化应用程序的主要标准。它们帮助企业摆脱了限制开发敏捷性的复杂性。容器、容器基础设施和容器部署技术已经被证明是非常强大的抽象,可以应用于许多不同的用例。通过使用Kubernetes等技术,企业可以交付一个仅使用容器交付应用程序的云。
  但是领先的私有云不仅仅是容器,容器并不适合所有的工作负载和用例。现在,大多数私有云基础设施都需要包含用于管理基础设施的裸机、用于传统应用程序的虚拟机以及用于较新应用程序的容器。支持、管理和协调这三种方法的能力是运营效率的关键。
  OpenStack目前是构建私有云的最佳选择,它能够管理网络、存储和计算基础设施,支持来自一个控制平面的虚拟机、裸机和容器。虽然Kubernetes可以说是最受欢迎的容器编排器,并且已经改变了应用程序交付的方式,但它取决于可靠的云基础设施的可用性,而OpenStack为托管应用程序提供了最全面的开源基础设施。OpenStack的多租户云基础设施非常适合Kubernetes,拥有多个集成点、部署解决方案以及跨多个云联合的能力。
  在本文中,我们将探讨容器如何在OpenStack中工作,查看各种用例,并提供让容器成为易于采用和使用的技术的OpenStack等开源项目的概述。
  OpenStack中容器的总体视图
  容器和OpenStack的交汇有三个主要场景。
  第一个场景称为基础设施容器,允许运维者使用容器来改善云基础设施的部署、管理和运维。在这种情况下,容器设置在裸机基础设施上,并允许对主机资源进行特权访问。这种访问使它们能够直接利用计算、网络和存储资源,容器运行时通常不为用户所见。这些容器隔离了每个应用程序所依赖的复杂的依赖关系集,同时允许基础设施应用程序直接管理和操作底层系统资源。当要升级服务时,可以在不改变依赖关系的情况下处理升级。
  新版本的OpenStack已经接受了这种基础设施容器模型,现在通常使用编排工具和容器化服务的组合来管理OpenStack部署的整个生命周期。基础设施容器使运维者能够使用容器编排技术来解决许多问题,特别是快速迭代/升级现有软件(包括OpenStack)。在容器中运行OpenStack有助于解决时间要求较高的挑战,包括为服务添加新组件,快速升级软件版本以及跨机器和数据中心快速滚动更新。这种方法将容器的敏捷性带入了OpenStack的部署和升级。
  第二个场景是关于在云基础设施上托管容器化的应用程序框架。这可以包括Docker Swarm和Kubernetes等容器编排引擎(COE