基于Kubernetes操作符架构的Redis企业版

本节提供了Redis Enterprise forKubernetes设计的描述。

Redis Enterprise 是在 Kubernetes 中部署和维护 Redis Enterprise 集群的最快、最高效的方式。

什么是运算符?

操作符是一个Kubernetes自定义控制器,它扩展了原生的K8s API。

操作符(Operators)是为了处理那些默认的K8s控制器无法处理的复杂、有状态应用程序而开发的。虽然标准的Kubernetes控制器——例如,StatefulSets——非常适合部署、维护和扩展简单的无状态应用程序,但它们并不具备处理有状态资源访问、升级、调整大小和备份更复杂的集群应用程序(如数据库)的能力。

操作符的作用是什么?

在抽象层面上,操作符将人类的操作知识编码成软件,这种软件能够以可扩展、模块化的方式可靠地管理应用程序,并且不会阻碍构成K8s架构的基本原语。

Redis 创建了一个操作符,用于部署和管理 Redis 企业集群的生命周期。

Redis Enterprise 操作员充当自定义控制器,用于自定义资源 RedisEnterpriseCluster 或 'rec',该资源通过 K8s CRD(自定义资源定义)定义,并使用 yaml 文件部署。

操作符函数包括:

  • 验证已部署的集群规范(例如,要求部署奇数个节点)
  • 实施一个对账循环以监控所有适用的资源
  • 记录事件
  • 启用一个简单的机制来编辑集群规范

Redis Enterprise 操作员充当 K8s 基础设施和 Redis Enterprise 集群之间的逻辑“粘合剂”。

操作员创建了以下资源:

  • 服务账户
  • 服务账户角色
  • 服务账户角色绑定
  • Secret – 保存集群的用户名、密码和许可证
  • Statefulset – 包含Redis Enterprise节点
  • 服务管理器部署 – 暴露数据库和标记节点
  • Redis UI 服务
  • 运行REST API + Sentinel的服务
  • Pod 中断预算
  • 可选:为服务代理部署,包括服务和PVC

下图展示了Redis Enterprise操作员的高级架构:

RATE THIS PAGE
Back to top ↑