仪表板

OpenShift与OpenStac

发布时间:2022/5/6 10:38:02   

OpenShift与OpenStack都是在、年左右创建的,用于构建可扩展云平台的开源技术,两者都用于在混合云环境中构建可扩展系统。从历史来看,OpenStack的存在时间要比OpenShift长。这两个项目的演变代表了从虚拟机到应用程序容器的转变。

OpenShift是Paas(平台即服务)模式,主要在AWS、GoogleCloudPlatform等现有云服务之上运行,用于开发和操作容器化应用程序。用户可以自己提供、操作和监控应用程序与服务,并专注于优化开发和DevOps工作流。而OpenStack具有更深层次的抽象概念,OpenStack是一种Iaas(基础设施即服务),可用于将现有服务器转换为云服务。该平台用于构建基于分布式硬件的虚拟化云基础设施,配置具有CPU内核和RAM的虚拟机,以及虚拟网络和分布式存储。

在容器虚拟化技术成为现在虚拟化主导地位的当下,因为OpenShift和OpenStack这两种技术互不干涉彼此独立,所以通常两者结合使用。比如OpenShift可以建立在OpenStack之上,由OpenStack构筑服务器基础设施,而OpenShift则作为第三方API服务存在。也可以在单个应用中同时使用。OpenShift还可以直接部署在OpenStack平台上搭建的云服务中。

OpenShift与OpenStack相结合可以完整涵盖从配置虚拟化硬件到开发和操作容器化应用程序,能够有效降低客户的设置成本,提高现有工作流程的效率和生产力,确保应用程序的可扩展性。因此OpenShift和OpenStack被广泛用于实施混合云的战略,很受大型全球组织的欢迎。

△OpenStack上的OpenShift

下面我们来详细看看这两种技术的优缺点,以及常见的部署场景。

OpenStack

OpenStack是一个用于构建可扩展云环境的开放平台。它的核心功能是提供和分配计算、网络和大容量存储。除了API之外,还有一个Web界面可用于管理系统。

除了资源供应,OpenStack还提供其他功能,包括用户身份管理、DNS入口管理和管理VM镜像的服务。更方便的是,单独的功能被封装为了单独的组件。当然在使用时并非所有的组件都必须部署,下面我们简单介绍一些比较常用的组件:

OpenStack组件功能描述Nova计算服务(Computeservice)配置虚拟化CPU内核和内存Swift对象存储(Objectstorage)基于虚拟化、冗余大容量存储Glance镜像服务(Imageservice)管理用于平台操作的VM镜像HorizonWeb仪表板(Webdashboard)用户通过仪表板登录并管理各个系统组件Keystone身份服务(Identityservice)提供跨系统、基于API的用户认证和授权Cinder块存储(Blockstorage)高度可用的大容量存储,其工作方式类似于可扩展的云硬盘Neutron网络管理(Networkmanagement)管理系统的虚拟网络基础设施(VNI)Trove数据库服务(Databaseservice)配置和管理可扩展、可靠的云数据库Magnum容器编排(Containerorchestration)部署容器引擎,如K8s和基于虚拟机或裸机基础设施的替代方案

△OpenStack构成(图片来源:openstack.org)

OpenStack适合在分散式计算硬件上构建云基础设施。结合OpenShift或类似的K8s管理解决方案,VM和基于容器的应用程序可以并行运行。其中带有“Magnum”组件的容器虚拟化构成了其原生功能范围的一部分。

OpenStack的优势和缺点

OpenStack能够帮助企业基于现有技术来构建自己的云基础架构,可以节省大量的成本。同时因为单独组件的特性,让公司可以根据需求进行灵活配置。这些都是让大家选择OpenStack的原因,当然最重要的是OpenStack是免费提供的开源软件。

不过OpenStack也有一些缺点,最明显的是因为软件的复杂性,即整个软件包括大量单独的组件,必须单独配置。这让安装OpenStack变得极具挑战性。同时因为社区贡献的文档可能追不上技术的快速发展,所以更新迭代会比较慢。当然了,工程师可以通过与专家或技术合作伙伴合作来解决问题。不过此类服务可能会产生额外费用。

OpenShift

OpenShift用于构建分布式、可扩展的应用程序和开发环境。该软件提供了一个完整的执行环境,可以在其中部署、执行、管理和编排容器。集成工具简化了现代开发和部署的工作流程。OpenShift一般作为企业的平台即服务(PaaS)、软件即服务(SaaS)和容器即服务(CaaS)解决方案被使用。但是OpenShift偏向于大型企业组织,对于单个开发人员来说可能过于复杂。

OpenShift使用特殊的K8S发行版,可以跨云和基础设施边界部署,实现同样的用户体验。K8S的核心功能由安全和监控功能补充,并基于集中式策略管理。其中Operator是一种打包、部署和管理K8S原生应用程序的方法。K8S原生应用程序是既部署在K8S上又使用K8SAPI和kubectl工具管理的应用程序。通常,OpenShift中的Operators用于实现:

OpenShift组件解释OpenShiftAPIServerOpenShiftAPI服务器检查并配置OpenShift资源,例如项目、路由和模板OpenShiftControllerManagerOpenShift控制器管理器监控etcd对OpenShift对象的更改,并使用API来实现所需的状态OpenShiftOAuthAPIServerOpenShiftOAuthAPI服务器验证和配置数据用于在OpenShift容器平台上进行身份验证。包括users,groups,和OAuthtokensOpenShiftOAuthServer用户从OpenShiftOAuthServer请求令牌以针对API进行身份验证

OpenShift的优势和缺点

使用OpenShift的最大优势之一是能够在混合云环境中运行软件,还可以加快开发工作流程,大大缩短开发时间。另一方面是高度安全性。防止网络入侵和数据泄露对于公司至关重要。端到端授权和身份验证限制了用户访问系统中不同的区域,有助于更好地进行数据保护。

当然,OpenShift也存在一些缺点。它仅支持在RedHat的特殊操作系统上运行,例如RedHatEnterpriseLinuxCoreOS(RHCOS)和RedHatEnterpriseLinux(RHEL)。安装也是相对复杂的。由于严格的安全设置,并非所有DockerHub容器都可以在OpenShift下使用。

作为助力企业完成虚拟化的重要两种手段,OpenShift与OpenStack都被各大企业广泛使用。也是开发者们在开发系统和平台时必定会遇到的,希望这篇文章能对你了解二者有所帮助。

快来找又小拍推荐阅读

设为星标

更新不错过

预览时标签不可点收录于话题#个上一篇下一篇

转载请注明:http://www.aideyishus.com/lkcf/157.html
------分隔线----------------------------

热点文章

  • 没有热点文章

推荐文章

  • 没有推荐文章