红帽开放平台上的分布式SQL入门


我们很高兴地宣布YugabyteDB Operator现已通过认证,并作为红帽OpenShift的测试版提供,红帽OpenShIFT是一个领先的企业Kubernetes平台,用于部署和管理云本地应用程序。获得认证意味着客户可以放心地在OpenShift上部署YugabyteDB,因为YugabyteDB容器映像已经过安全保护和验证,并且很好地集成到OpenShift上运行。该解决方案得到了红帽和裕固族之间的协作支持,因此企业可以轻松地在此过程中寻求帮助和指导。

YugabyteDB将对横向扩展关系数据库管理系统和互联网规模的联机事务处理工作负载的支持带到了OpenShift上,使客户能够将这些工作负载转换为企业级的Kubernetes。yugabbtedb操作符允许开发人员在OpenShift上运行yugabbtedb集群,使用与无状态应用程序相同的云本地实践,例如使用CI/CD管道扩展和管理工作负载的生命周期。你可以找到YugabyteDB Operator在您的OpenShift环境的操作中心中。

YugabyteDB operator spec

可以在您的OpenShift环境中安装YugabyteDB操作器,并提供Kubernetes本地管理功能。它定义了新的自定义资源定义(CRD的),处理生命周期事件(如缩放),并管理在豆荚中运行的YugabyteDB。它通过以下方式提供了一个库本内斯本地定制资源ybclusters.yugabyte.com用于部署和管理南斯拉夫数据库集群。

在这篇文章中,我们将讨论在谷歌云上部署的红帽开放转换环境中部署一个高可用性的南斯拉夫分布式SQL集群的安装步骤。(注意,您可以在任何公共云上使用OpenShift容器平台和YugabyteDB操作器来实现这一点。(

Red Hat OpenShift and Kubernetes

上图显示了在红帽OpenShift上使用YugabyteDB操作符部署YugabyteDB集群所涉及的组件的概要。

南斯拉夫数据库集群由两个分布式服务组成:yb-tserveryb-master.yb-tserver服务负责存储应用程序数据并为客户端请求提供服务。yb-master是一个轻量级服务,负责维护系统元数据(包括表到碎片到节点的映射),并执行后台操作,如自动数据重新平衡。您可以了解更多关于the components in a YugabyteDB cluster here

红帽OpenShift提供了一个托管库本内特集群。Kubernetes负责管理在Kube应用编程接口中注册的YugabyteDB操作员舱和CRD的生命周期。关于创建自定义资源ybclusters.yugabyte.com,YugabyteDB运算符创建必要的状态集容器,并提供复制因子和所需容器数等属性。它还引导附加服务,包括一个用于公开YugabyteDB管理控制台的负载平衡器服务。

安装先决条件

  • 获得aRed Hat OpenShift environment具有以下最低要求:
    • 红帽OpenShift v4.3或更高版本。
    • 1个库本内特主节点:2个中央处理器,4GB内存。
    • 3个库本内特工作节点:8个中央处理器,16GB内存。
  • 对OperatorHub的访问。
  • 订购红帽认证运营商。
  • 码头工人安装在本地。
  • 大约15分钟。

在红帽子打开开关上安装南斯拉夫操作器

登录到OpenShift容器平台,导航到OperatorHub。在数据库类别下搜索南斯拉夫运算符。

导航至南斯拉夫运营商页面,点击安装

YugabyteDB Operator

选择一个库本内特命名空间来安装YugabyteDB操作符。我们已经选择了安装操作程序的默认名称空间。

Create an Operator subscription

将安装南斯拉夫运营商,我们可以通过导航到已安装的操作员佩奇。

创建南斯拉夫数据库集群

一旦安装了南斯拉夫数据库操作器,我们就可以通过为定制资源定义必要的参数来部署一个南斯拉夫数据库集群ybcluster。默认情况下,自定义资源ybcluster用创建一个YugabyteDB集群Replication Factor 3(RF3)。南斯拉夫操作符的当前版本提供了以下配置参数:

  • 图像覆盖–在图像下提及南斯拉夫码头工人图像属性,如仓库、标签和码头政策。
  • 复制因子–南斯拉夫数据库集群所需的复制因子。默认值为射频-3。
  • 主机盒数–双主机所需的盒数。默认值为3。
  • 服务器箱数–服务器所需的箱数。默认值为3。
  • 启用顶级域名系统–如果需要,为南斯拉夫启用顶级域名系统加密。默认情况下,它是禁用的。要启用顶级域名系统通信,请参阅configuring TLS

在打开的换档控制台中,导航到已安装的操作员页面中的南斯拉夫操作员。您将看到一个带有配置和安装说明的登录页面。

Provided APIs

现在让我们使用已安装的操作器部署一个RF3 yugabbtedb集群。点击创建实例要配置和部署YugabyteDB集群,请按创造按钮。

默认情况下,ybclustercrd将创建一个启用TLS的群集,要求我们提供证书颁发机构证书。对于这篇博文,我们已经禁用了yb-master和Yb-t server pod之间的TLS通信。我们通过设置配置标志来禁用TLS通信使用节点到节点加密在yb-master和yb-tserver yaml定义中都设置为false。另外,我们需要从部署yaml文件中删除tls规范。

Creating YB Cluster

这将创建一个新的YBClusterCRD和运营商负责协调必要的资源。YugabyteDB操作符创建YugabyteDB状态集,并引导数据库所需的必要服务。几分钟之内,你将会有一个YugabyteDB集群可以在红帽OpenShift上使用。

example cluster repository

检查南斯拉夫数据库集群状态

每个YugabyteDB集群都公开了一个yb-master用户界面,它提供了集群的详细信息、表的分片信息以及集群度量。从中检索主用户界面负载平衡器的IP地址yb-master-ui负载平衡器服务。

Checking cluster status

使用在上一个屏幕中检索到的负载平衡器的IP地址导航到南斯拉夫主用户界面。

结论

这篇博文向开发人员展示了一种快速简单的方法,让他们在红帽OpenShift容器平台上开始使用YugabyteDB。正如您所看到的,使用最少的步骤,OpenShift管理员就可以启用yugabbtedb操作符,它允许应用程序开发团队在OpenShift上提供yugabbtedb即服务。这使得开发人员在OpenShift容器平台上构建云本地应用时,后端服务的速度与无状态应用相同。