谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

选择 Kubernetes,还是 OpenStack?

by Canonical on 29 August 2023

Kubernetes 还是 OpenStack,是组织在考虑 IT 基础设施现代化时面临的一个共同难题。这两者都是搭建云基础设施的开源技术,均已臻至成熟,都能带来切实的利益,尤其是两者结合使用时。然而,两者差别显著,需要正确捆绑才能感觉像是一个完全集成的解决方案。

这在实际操作中意味着什么呢?快一起来看看吧!本文,我们首先会简短介绍一下 OpenStack 和 Kubernetes。然后,我们会重点介绍两者的相似之处和不同之处,并讨论如何正确地将它们集成到一起。

如果您更喜欢观看视频,请注册网络研讨会 >

Kubernetes 与 OpenStack 究竟是什么?

围绕 “Kubernetes 还是 OpenStack” 难题的困惑通常都源于对这两者的本质缺乏了解。Kubernetes 是下一个 OpenStack 吗?Kubernetes 取代了 OpenStack 吗?这两项技术彼此之间有何关系?为了解这些,让我们先后退一步,试着给 OpenStack 和 Kubernetes 下个定义。

OpenStack 是什么?

OpenStack 是一个云平台。它管理发布式计算、网络和储存资源,将它们聚合到池中,并允许通过自助式门户按需配置虚拟资源。如果您熟悉 Amazon Web Services (AWS) 的 Elastic Compute Cloud (EC2),会发现为让您能够搭建功能完整的私有云和公有云,OpenStack 很大程度上模仿了它的行为。OpenStack 广泛用于顶尖的电信公司服务提供商金融机构制造公司以及政府等组织。

Kubernetes 是什么?

Kubernetes(又名 K8s)是一个容器编排平台。对于容器化工作负载和服务,它能够自动化部署、联网、扩展并确保可用性。少量容器的运行很容易手动完成。但是,如果没有 Kubernetes 提供的自动化功能作保障,在生产环境中大规模管理容器将是一个严峻的挑战。近来,Kubernetes 已成功应用于整个基础设施领域,包括公有云数据中心边缘站点甚至物联网等。

Kubernetes 与 OpenStack 的异同

Kubernetes 与 OpenStack 由两个不同的社区创建,解决两个不同的技术问题。因此,尽管它们的功能有时会重叠,但运行原理却不同。现在,让我们来看一看这两个成功项目之间最常见的异同之处吧。

支持的工作负载类型

过去,OpenStack 曾经支持虚拟机(VM),而 Kubernetes 曾经只支持容器。现在情况已大不相同。多年来,这些技术不断发展,可确保覆盖所有类型的工作负载。OpenStack 现通过 Ironic 项目支持裸机工作负载,并通过 Magnum 项目支持容器化工作负载。而 Kubernetes 用户可利用 Metal³ 等工具配置物理机和 Kata 容器,或通过 KubeVirt 配置虚拟机。

裸机管理功能

OpenStack 被设计为直接在裸机上运行。因此,它的裸机管理功能通常比 Kubernetes 更加先进。尽管 Kubernetes 也可直接在物理层上运行,但 OpenStack 已在这一领域深耕十三年,拥有更丰富的经验。OpenStack 通常能更好地支持与现有各种储存平台和软件定义网络 (SDN) 控制器的集成,以及众多性能扩展(例如 硬件卸载)。

应用程序管理功能

另一方面,Kubernetes 在应用程序管理方面是首屈一指的。Kubernetes 的设计考虑了大量的应用程序管理功能,包括 ReplicaSet 或 DaemonSet 等各种控制器以及云原生功能。例如,这些包括滚动升级和自动扩展。虽然 OpenStack 社区在过去努力用 Heat 和 Murano 项目来填补这一差距,但他们并未取得太大的成功,使得其在应用程序管理领域落后于 Kubernetes。

结合两者的优势

在这一点上,我们应该清楚不管是 OpenStack 还是 Kubernetes,都不能提供另一个项目所提供的全部功能。它们完全是为了不同的目的而生。因此,将它们捆绑在一起使用,更能发挥重大意义。

OpenStack 上的 Kubernetes

在 OpenStack 上运行 Kubernetes 具有诸多好处。首先,这比直接在裸机上运行更为简单。有一些工具支持在 OpenStack 上即时配置 Kubernetes 集群,包括 Juju、Magnum 或 Cluster API。受益于 OpenStack 提供的多租户技术,每个用户或实体可获得他们自己的云资源池,并在其中按需启动他们的 K8s。此外,如前所述,这些 K8s 集群也可利用 OpenStack 的金属管理功能,例如通过 Octavia 实现适当的负载平衡,vGPU 资源配置等等。

 Kubernetes 上的 OpenStack

反之,在 Kubernetes 上运行 OpenStack 的控制平面(Control Plane)也具有其优势。最重要的是,它能够更好地隔离 OpenStack 服务,有效地将它们从底层操作系统(OS)中分离出来。此外,在这样的设置中,OpenStack 可受益于 Kubernetes 提供的生命周期管理功能,大大简化升级等历来就十分复杂的操作。最后,对 K8s 进行标准化可让 OpenStack 的架构变得相对轻盈,有效将其转变成所有人都可使用的东西,甚至在他们的工作站上直接转变。

试用 Kubernetes 上的 OpenStack>

如何堆叠栈?

请等一下。所以是想在 Kubernetes 上的 OpenStack 上设置 Kubernetes 吗?

猜对了!即使听起来很别扭,但该架构设置具有最多优势,可有效地支持您在一个平台上结合这两者的优势。在现有的各种平台中,Ubuntu 因其多功能性而脱颖而出。Ubuntu 能够简化对 OpenStack 和 Kubernetes 的访问,有效地为开发人员提供所有必要的基础设施工具。现在,在涉及到生产环境时,有一个可选的商业订阅提供对企业级服务的访问权限。

一个订阅管理一切

Ubuntu Pro 是最全面的 Linux 企业订阅,涵盖开源资源的方方面面,例如安全性、合规性和支持覆盖等。使用 Ubuntu Pro,您可专注于扩大基础设施的优势,同时 Canonical 可通过积极的服务级别协议(SLA)来确保您的云平台获得安全更新、错误修复以及全天候的技术支持。

还在考虑是 Kubernetes 还是 OpenStack?用一个订阅来管理一切吧!

进一步了解 Kubernetes 和 OpenStack

Kubernetes 和 OpenStack 具有很多共性。两者皆可作为开源云基础设施的实施基础,而且两者皆可彼此独立存在。但是,当您将它们结合在一起,您可获得只有魔戒(Ring of Power)才能匹敌的全方位能力。

访问我们的 OpenStackKubernetes 页面,了解更多全球范围内的顶尖开源基础设施项目。

阅读我们的容器化和虚拟化博文,深入了解 OpenStack 和 Kubernetes 使用的底层技术。

联系 Canonical,为您的项目获取商业支持。

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

OpenStack 结合 Sunbeam 用于小型私有云基础架构

每当涉及到小型私有云基础架构项目的推出时,企业组织通常都会面临两难的境地。由于缺乏相关知识、棘手的迁移过程以及管理层对运行各种扩展(如 Kubernetes)的迫切需求,实施过程往往看起来很复杂。克服这种复杂性难题最显而易见的方法是引入昂贵的专业服务来处理项目,但这样的选择对于中小型企业而言却过于昂贵。 幸运的是,现在有新的解决方法可以让您自己轻松应对所有这些挑战。在本篇简短的博客中,我们将介绍如何使用 Sunbeam 项目无缝部署小型私有云,并且没有经验要求,也不会产生昂贵的咨询费用。 术语介绍 在开始之前,我们来简要了解一下本篇博客中所使用的一些术语。 什么是 Sunbeam? Sunbeam 是 OpenInfra Foundation(OIF)旗下的上游项目,旨在 […]

本地 AI 部署:您应当了解的相关信息

企业组织正在重塑自身的数字战略,而 AI 是这些变化的核心,许多项目如今已准备好在生产环境中运行。企业通常在公共云上启动这些 AI 项目,因为这样可以最大限度地减少硬件负担。然而,随着项目规模的扩大,出于成本、数字主权或合规性要求等原因,企业组织往往希望迁移本地工作负载。在自身的基础架构上运行 AI 有很多明显的益处,但同时也带来了基础架构和 MLOps 专家需要考虑的一些重大挑战。 MLOps 是以可重复和可再现方式运行 AI 工作负载的推动者。MLOps 平台,如 Charmed Kubeflow,是在 Kubernetes 上运行的云原生应用程序。在本地构建这样的架构有助于企业组织轻松部署、管理和扩展其 AI 应用程序。 本地 AI 部署的优点 在构建自身的 AI […]

Canonical Kubernetes 1.29 现已正式发布

上游 Kubernetes 新版本 1.29 现已正式发布,其中包含重要的新增功能和漏洞修复。Canonical 密切关注上游开发,进行版本协调,以提供及时、最新的增强功能,这意味着 MicroK8s 1.29 也已正式发布,Charmed Kubernetes 1.29 也即将正式发布。 Canonical Kubernetes 1.29 中的新增功能 Canonical 的 Kubernetes 发行版,MicroK8s 和 Charmed Kubernetes,提供了上游 Kubernetes 1.29 中可用的所有功能。我们还增加了许多新功能。有关更改和增强功能的完整列表,请参阅 MicroK8s 和 Charmed Kubernetes 版本说明。 MicroK […]