以下是对 Red Hat OpenShift 的简要介绍,包括我们经常被问到的问题以及我们认为它为什么是部署和运行 Redis 企业版集群的绝佳选择的看法。
在回答这个问题之前,您应该了解一些背景知识,所以让我先从一个简单的定义开始,然后逐步补充详细信息。
OpenShift 是 Red Hat 为运行基于 其 Kubernetes 发行版 的容器化应用程序提供的平台即服务 (PaaS) 产品。
PaaS 是云计算服务的一种类别,它允许客户部署和运行应用程序,而无需担心许多操作细节。使用基础设施即服务 (IaaS) 产品,您需要为计算单元付费(无论是裸机服务器还是虚拟机),然后由您负责正确安装所有必要的软件并随时间推移进行操作。使用 PaaS,您无需在操作基础设施上花费资源或专业知识。为了支持这种级别的自动化,OpenShift 利用了 Kubernetes。
Kubernetes 是一个开源的容器编排系统,用于自动配置、扩展和管理您的应用程序和服务。换句话说,Kubernetes 为您运行服务集群。它最初由 Google 开源,现在是云原生计算基金会 (CNCF) 的一部分。您可以将 OpenShift 视为 Kubernetes 的发行版,但请记住,OpenShift 是一个产品,而 Kubernetes 及其各种发行版只是项目。当您安装 Kubernetes 时,您需要自己弄清楚如何正确设置它,如果出现问题,您最多只能依靠社区支持。OpenShift 作为一种产品,捆绑了对 Red Hat 支持的访问权限。这对于某些人来说可能是一个很小的区别,但对于企业来说却至关重要。OpenShift 基于一个名为 OKD 的 Kubernetes 发行版。
OKD 是 Red Hat 的开源 Kubernetes 发行版,为 OpenShift 提供支持。如上所述,OKD 是开源的 项目,而 OpenShift 是 产品。Kubernetes 的发行版包括核心 Kubernetes 组件,以及围绕核心引擎的特定工具选择。从很多方面来说,它与 Linux 发行版的情况相同:内核是 Linux,但所有周围的组件根据各自维护者的选择而有所不同。例如,OKD 在指定服务集群的所需布局方面,与 vanilla Kubernetes 的方法不同(OKD 模板与 Helm 图表)。
首先,我们必须谈谈使用 Kubernetes 的总体好处。借助 Kubernetes,开发人员获得了用于编排资源的自助服务界面。当开发人员编写其应用程序的代码时,他们还会将任何基础设施要求(例如数据库、缓存、负载均衡器)写入配置文件中。然后,该文件将与其余代码一起签入到源代码控制存储库中。
使用这种方法的开发人员不需要深入的操作知识,因为 Kubernetes 会为他们处理细节。之后,运行基础设施就同样容易了。对上述配置文件进行的任何更改都将由 Kubernetes 用于推断所需的集群状态。Kubernetes 知道如何评估当前的集群状态并确定要应用哪些操作才能过渡到所需的狀態。这也适用于例如水平扩展,开发人员可以简单地更改给定服务的所需副本数量。
使用 OpenShift 的好处与 Red Hat 运行开源服务和基础设施的专业知识相关。OpenShift 专为提供出色的 Kubernetes 体验而构建,从操作系统 (OS) 本身开始。OpenShift 4(迄今为止的最新版本)经过优化,可在 CoreOS 上运行,CoreOS 是一种专门用于运行容器化应用程序的 Linux 发行版(2018 年 1 月被 Red Hat 收购)。OpenShift 还提供 vanilla Kubernetes 中缺少的工具,例如用于服务部署和监控的 Web 控制面板、集成的 CI/CD 系统等等。
Redis 企业版集群可以帮助您线性扩展到每秒数百万次操作。 我们可以为您管理它,因此您不需要 Kubernetes 来完成这项工作。也就是说,如果您已经在 Kubernetes 生态系统中投资,并且希望您的开发人员能够像使用任何其他资源一样对 Redis 企业版进行自助服务访问,我们通过 运算符框架为 OpenShift 提供了出色的支持。
Kubernetes 需要以高度自动化的方式管理许多不同类型的资源,但它无法立即知道如何正确运行所有资源。运算符框架是一种通过添加专门设计用于管理单一类型资源的自定义逻辑来扩展 Kubernetes 的方法。在 Redis,我们已经创建并维护了一个 Redis 企业版运算符,您可以轻松地从 OperatorHub(OpenShift 的运算符市场)获取。
设置完毕后,您就可以专注于真正关心的问题:开发您的应用程序。Redis 企业版可以帮助您整合现有架构,并扩展到新的可能性,例如部署地理分布式多主数据库集群。有关复制设计模式的更多信息,请参阅 Sheryl Sage 在 OpenShift 官方博客上的客座文章。
要了解如何在 OpenShift 上使用 Redis 企业版集群运算符,阅读 Amiram Mizne 的这份操作指南,查看我们的 文档或 注册免费 OpenShift 试用版。