谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭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,为您的项目获取商业支持。

订阅博客文章

订阅您感兴趣的主题

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

查看更多内容

云化数据中心 — VMware 基础架构转型指南

在过去至少一年的时间里,许多企业都一直在观望 Vmware 行情。对于接下来会出现的趋势,无论如何都要做好准备迎接这巨大的变化。您和您的团队是否已经做足准备,制定预算、时间表?剩下的临门一脚就是「如何执行」了。 我们录制了 60 分钟的网络研讨会,带您了解如何立足于 Vmware 走向未来。下方博文另有研讨会摘要可供阅读,我们将介绍 Canonical 成熟的 Vmware 基础架构转型途径,即通过数据中心完全云化来实现。我们还将探讨为什么与其停留在过去,不如走向未来。 过去与未来 在过去的二十年,企业运行其 IT 资产的方式发生了重大变化。许多过去以传统方式运营数据中心的企业组织都决定将其工作负载完全虚拟化,以优化资源消耗并提高敏捷度。这正是 VMware 推出 vSp […]

Canonical x Lenovo: 在边缘运行 AI workloads

携手 Canonical 和 Lenovo,在边缘运行 AI 工作负载 从制造业中的预测性维护,到医疗保健行业中的虚拟助手,再到最偏远地区的电信路由器优化,AI 正在各种边缘环境中掀起新浪潮,带来新机遇。但为了支持这些几乎随处运行的 AI 工作负载,公司需要具备快速、安全且高度可扩展的边缘基础架构。 开源工具 —— 例如用于轻量级 Kubernetes 编排的 MicroK8s 和用于 ML 机器学习工作流的 Charmed Kubeflow —— 可以为边缘 AI 部署提供更高的灵活性和安全性。如果配合加速计算堆栈使用,这些解决方案可以帮助专业人员更快地交付项目,降低运营成本,以及确保更可预测的结果。 今天这篇博客探讨为什么企业正逐渐在边缘 AI 领域转向开放式基础架构 […]

《网络弹性法案》对开源意味着什么

《网络弹性法案》(Cyber Resilience Act,CRA)即将生效。这项影响广泛的法规将引入针对开发商、零售商和设备制造商的新要求和制衡措施;而许多亟待满足的需求在开源社区并没有得到很好的解决。  在本篇博客中,笔者将探讨 CRA 对开源的影响,分享一些专家的见解,说明该法案在哪些方面有着积极的影响以及在哪些方面存在灰色地带,并向大家介绍在使用或创建开源的情况下应该为法案的推行做好哪些准备。 为何制定《网络弹性法案》? 首先大致介绍一下,CRA 是欧盟即将出台的一项法规,旨在通过对欧盟 IT 行业实施更严格的网络安全、文档和漏洞报告要求,提高设备安全性。这项法规将适用于硬件、设备、软件、应用程序和其他“带有数字连接元素的产品”的开发商、分销商、制造商和零售商。 […]