Skip to content

What is NebulaGraph Operator

Concept

NebulaGraph Operator is a tool to automate the deployment, operation, and maintenance of NebulaGraph clusters on Kubernetes. Building upon the excellent scalability mechanism of Kubernetes, NebulaGraph introduced its operation and maintenance knowledge into the Kubernetes system, which makes NebulaGraph a real cloud-native graph database.

operator_map

How it works

For resource types that do not exist within Kubernetes, you can register them by adding custom API objects. The common way is to use the CustomResourceDefinition.

NebulaGraph Operator abstracts the deployment management of NebulaGraph clusters as a CRD. By combining multiple built-in API objects including StatefulSet, Service, and ConfigMap, the routine management and maintenance of a NebulaGraph cluster are coded as a control loop in the Kubernetes system. When a CR instance is submitted, NebulaGraph Operator drives database clusters to the final state according to the control process.

Features

The following features are already available in NebulaGraph Operator:

  • Cluster deployment and deletion: NebulaGraph Operator simplifies the process of deploying and uninstalling clusters for users. NebulaGraph Operator allows you to quickly create, update, or delete a NebulaGraph cluster by simply providing the corresponding CR file. For more information, see Install NebulaGraph Clusters.
  • Disaster recovery zones: Supports evenly distributing Storage Pods across zones to facilitate disaster recovery. For more information, see Create clusters with zones.
  • Cluster scaling: NebulaGraph Operator calls NebulaGraph's native scaling interfaces in a control loop to implement the scaling logic. You can simply perform scaling operations with YAML configurations and ensure the stability of data. For more information, see Scale clusters.
  • Backup and recovery:NebulaGraph supports data backup and recovery. Users can use NebulaGraph Operator to backup the data of the NebulaGraph cluster to storage services, and can also restore data to the cluster from the storage service. For details, see Backup and restore using NebulaGraph Operator.
  • Cluster upgrade: NebulaGraph Operator supports cluster upgrading from version 3.5.0 to version 3.5.x.
  • Self-healing: NebulaGraph Operator calls interfaces provided by NebulaGraph clusters to dynamically sense cluster service status. Once an exception is detected, NebulaGraph Operator performs fault tolerance. For more information, see Self-Healing.
  • Balance scheduling: Based on the scheduler extension interface, the scheduler provided by NebulaGraph Operator evenly distributes Pods in a NebulaGraph cluster across all nodes.

Limitations

Version limitations

NebulaGraph Operator does not support the v1.x version of NebulaGraph. NebulaGraph Operator version and the corresponding NebulaGraph version are as follows:

NebulaGraph NebulaGraph Operator
3.5.x ~ 3.7.x 1.5.0 ~ 1.8.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

Legacy version compatibility

  • The 1.x version NebulaGraph Operator is not compatible with NebulaGraph of version below v3.x.
  • Starting from NebulaGraph Operator 0.9.0, logs and data are stored separately. Using NebulaGraph Operator 0.9.0 or later versions to manage a NebulaGraph 2.5.x cluster created with Operator 0.8.0 can cause compatibility issues. You can backup the data of the NebulaGraph 2.5.x cluster and then create a 2.6.x cluster with Operator 0.9.0.

Release note

NebulaGraph Operator release notes

History releases


Last update: March 6, 2024