如何一起使用 Kubernetes 和 OpenStack

工作在双方协作完成,并且 OpenStack 和 Kubernetes 都有相应的支持系统。
3 位读者喜欢这篇文章。
Gears above purple clouds

在 OpenStack 的 2021 年用户调查中,大多数受访者表示他们使用 Kubernetes 作为容器编排或平台即服务 (PaaS) 工具来管理他们的 OpenStack 应用程序。 简而言之,OpenStack 和 Kubernetes 协同工作,使系统管理员、开发人员和用户都受益。

说用户依赖这两种技术是一回事,但我很想知道是如何依赖的。 我发现了几种典型的用例。

OpenStack 上的 Kubernetes

Kubernetes 需要在某个地方运行,而这个地方可以在 OpenStack 虚拟机中。 由于 OpenStack 的设计和实施旨在大规模运行,因此它使 Kubernetes 集群也能够做到这一点。 OpenStack 的 API 为 Kubernetes 集成提供了一致的抽象层。

Kubernetes 容器中的 OpenStack

Kubernetes 容器为运行高可用性基础设施提供了独立性和相对轻量级的支架。 使用容器的一个原因是它们提供了快速的基础设施部署和拆卸,并且具有很大的灵活性。 运行容器化的 OpenStack 使您能够获得容器的优势,以及 OpenStack 的所有强大功能和可扩展性。

这是一个我见过的正在使用的启动脚本,它演示了在 OpenStack 上创建新主机和 Kubernetes 实例的简易性

#!/usr/bin/env bash
CWD="$(pwd)"
${OSH_INFRA_PATH:="../openstack-helm-infra"}
pushd ${OSH_INFRA_PATH}
make dev-deploy setup-host
make dev-deploy k8s
popd

带有 Kubernetes 的独立 OpenStack

也许您有另一个基础设施提供商来运行您的 Kubernetes 集群,但您想利用您存储数据的方式,并且您不喜欢提供商的解决方案。 好吧,一些 OpenStack 服务已经过调整,可以在没有 Nova 的情况下运行以进行计算。 SIG 云提供商有各种插件可用于与 Kubernetes 集群集成。 不仅有用于存储的插件,还有用于控制入口、自动修复、webhook 身份验证授权和密钥管理的插件。 如果您不需要 OpenStack 带来的所有功能,但仍然希望将它的一些服务与 Kubernetes 结合使用,那么您也可以这样做。

 

API information

(Kendall Nelson, CC BY-SA 4.0)

Ironic 预配置硬件上的 Kubernetes

Ironic 是 OpenStack 的裸机配置服务,它配置运行容器所需的基础设施。 这使 Kubernetes 容器具有直接与计算、网络和存储资源集成的优势。 通常,容器运行时会出于安全考虑对用户隐藏这一点,但在用户不需要隔离的部署中,操作员可以与集群交互并更快地进行更改。 在由 Ironic 预配置的硬件之上直接运行 Kubernetes 容器,使容器的敏捷性能够减轻操作员的日常难题,例如部署和升级。

有关 Kubernetes 和 OpenStack 如何协同工作的各种方式的更多详细信息,请查看此 PyCon 演示文稿

下一步:尝试一下!

那么现在呢? 既然您已经了解如何一起使用 OpenStack 和 Kubernetes,那就深入研究吧! 使用本地 DevStack 安装尝试它们,看看是否有适合您的组合。 根据用例,两个社区的融合可能会为您的努力带来价值。 或者,如果您发现需要弥合的差距,请参与进来并引起社区的注意!

两个开源社区,一个开放基础设施世界

虽然这些项目在技术上有很多契合的方式,但真正的message是,当您利用两个协同工作的开源社区的优势时,您的基础设施可以变得更好,并解决用户更多的难题。

工作在双方协作完成,并且 OpenStack 和 Kubernetes 都有相应的支持系统。

OpenStack 的项目团队致力于使其服务独立存在,并致力于升级部署服务以与 Kubernetes 集成。 他们发展和增强像 Kuryr 这样的项目,以桥接容器和 OpenStack 的网络。 OpenStack 服务团队一直在寻求帮助。 有什么反馈或遇到障碍? 请在 openstack-discuss 邮件列表中联系。

在 Kubernetes 方面,SIG 云提供商致力于开发和扩展 Cloud Provider OpenStack 中可用的插件列表,以补充和集成 Kubernetes 容器。 他们测试集成点,以确保他们的项目在 OpenStack 基础设施上运行。 不确定如何配置插件或想知道某些选项启用了什么? 加入 #provider-openstack k8s Slack 频道,尽管提问!

组成 Kubernetes 和 OpenStack 社区的人们积极主动地进行协作。 在技术社区中,长期以来,一个普遍的误解是,这两个项目将永远相互竞争,争夺主导地位,但现在的说法已经改变。 Kubernetes 和 OpenStack 协同工作。 它们几乎以任何必要的方式集成,以使运营商的生活更轻松,并使用户功能更灵活和快速。

考虑到开发人员、文档编写者、用户和运营商的数量都在努力使这两个软件项目更好、更协同,您为什么不一起使用它们呢? 两个独立的社区可能支持 Kubernetes 和 OpenStack,但我们都在共同努力,以进一步推动和成功一个开放基础设施世界。

User profile image.
Kendall 是位于华盛顿州西雅图的开放基础设施基金会的上游开发倡导者。 她最初在 Liberty 版本 (2015) 期间开始在 Cinder 上从事 OpenStack 工作,此后一直参与发布管理、StoryBoard、First Contact SIG、贡献者指南、OpenStack 上游学院以及 OpenStack 技术委员会副主席。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。

找到完美的开源工具

项目管理、商业智能、报告等等。 查看这些流行的项目。

© . All rights reserved.