跳转至

什么是 NebulaGraph Operator

基本概念

NebulaGraph Operator 是用于在 Kubernetes 系统上自动化部署和运维 NebulaGraph 集群的工具。依托于 Kubernetes 扩展机制,NebulaGraph将其运维领域的知识全面注入至 Kubernetes 系统中,让NebulaGraph成为真正的云原生图数据库

operator_map

工作原理

对于 Kubernetes 系统内不存在的资源类型,用户可以通过添加自定义 API 对象的方式注册,常见的方法是使用 CustomResourceDefinition(CRD)

NebulaGraph Operator 将NebulaGraph集群的部署管理抽象为 CRD。通过结合多个内置的 API 对象,包括 StatefulSet、Service 和 ConfigMap,NebulaGraph集群的日常管理和维护被编码为一个控制循环。在 Kubernetes 系统内,每一种内置资源对象,都运行着一个特定的控制循环,将它的实际状态通过事先规定好的编排动作,逐步调整为最终的期望状态。当一个 CR 实例被提交时,NebulaGraph Operator 会根据控制流程驱动数据库集群进入最终状态。

功能介绍

NebulaGraph Operator 已具备的功能如下:

  • 集群升级:支持升级 3.5.0 版的NebulaGraph集群至 3.5.x 版。
  • 故障自愈:NebulaGraph Operator 调用NebulaGraph集群提供的接口,动态地感知服务状态。一旦发现异常,NebulaGraph Operator 自动进行容错处理。更多信息参考故障自愈
  • 均衡调度:基于调度器扩展接口,NebulaGraph Operator 提供的调度器可以将应用 Pods 均匀地分布在NebulaGraph集群中。

使用限制

版本限制

NebulaGraph Operator 不支持 v1.x 版本的 NebulaGraph,其与NebulaGraph版本的对应关系如下:

NebulaGraph版本 NebulaGraph Operator 版本
3.5.x 1.5.0、1.6.x
3.0.0 ~ 3.4.1 1.3.0、1.4.0 ~ 1.4.2
3.0.0 ~ 3.3.x 1.0.0、1.1.0、1.2.0
2.5.x ~ 2.6.x 0.9.0
2.5.x 0.8.0

历史版本兼容性

  • 1.x 版本的 NebulaGraph Operator 不兼容 3.x 以下版本的 NebulaGraph.
  • 由于 0.9.0 版本的 NebulaGraph Operator 的日志盘和数据盘分开存储,因此用 0.9.0 版的 NebulaGraph Operator 管理通过 0.8.0 版本创建的 2.5.x 版本的NebulaGraph集群会导致兼容性问题。用户可以备份 2.5.x 版本的NebulaGraph集群,然后使用 0.9.0 版本的 Operator 创建 2.6.x 版本集群。

功能限制

NebulaGraph Operator 的扩缩容功能仅对企业版的NebulaGraph集群开放,不支持使用 NebulaGraph Operator 扩缩容社区版的NebulaGraph集群。

更新说明

Release


最后更新: January 31, 2024