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