Skip to main content
Version: 3.12.0

Use NebulaGraph Operator to manage specific clusters

NebulaGraph Operator supports the management of multiple NebulaGraph Database clusters. By default, NebulaGraph Operator manages all NebulaGraph Database clusters. However, you can specify the clusters managed by NebulaGraph Operator. This topic describes how to specify the clusters managed by NebulaGraph Operator.

Application scenarios

  • Gray release of NebulaGraph Operator: You want to run the new Nebula Operator version on a part of the clusters first to test and verify its performance before fully releasing it.
  • Manage specific clusters: You want NebulaGraph Operator to manage only specific NebulaGraph Database clusters.

Configurations

NebulaGraph Operator supports specifying the clusters managed by controller-manager through startup parameters. The supported parameters are as follows:

  • watchNamespaces: Specifies the namespace where the NebulaGraph Database cluster is located. To specify multiple namespaces, separate them with commas (,). For example, watchNamespaces=default,nebula. If this parameter is not specified, NebulaGraph Operator manages all NebulaGraph Database clusters in all namespaces.

  • nebulaObjectSelector: Allows you to set specific labels and values to select the NebulaGraph Database clusters to be managed. It supports three label operation symbols: =, ==, and !=. Both = and == mean that the label's value is equal to the specified value, while != means the tag's value is not equal to the specified value. Multiple labels are separated by commas (,), and the comma needs to be escaped with \\. For example, nebulaObjectSelector=key1=value1\\,key2=value2, which selects only the NebulaGraph Database clusters with labels key1=value1 and key2=value2. If this parameter is not specified, NebulaGraph Operator manages all NebulaGraph Database clusters.

Examples

Specify the managed clusters by namespace

Run the following command to make NebulaGraph Operator manage only the NebulaGraph Database clusters in the default and nebula namespaces. Ensure that the current Helm Chart version supports this parameter. For more information, see Update the configuration.

helm upgrade nebula-operator nebula-operator/nebula-operator --set watchNamespaces=default,nebula

Specify the managed clusters by label

Run the following command to make NebulaGraph Operator manage only the NebulaGraph Database clusters with the labels key1=value1 and key2=value2. Ensure that the current Helm Chart version supports this parameter. For more information, see Update the configuration.

helm upgrade nebula-operator nebula-operator/nebula-operator --set nebulaObjectSelector=key1=value1\\,key2=value2

FAQ

How to set labels for NebulaGraph Database clusters?

Run the following command to set a label for the NebulaGraph Database cluster:

kubectl label nc <cluster_name> -n <namespace> <key>=<value>

For example, set the label env=test for the NebulaGraph Database cluster named nebula in the nebulaspace namespace:

kubectl label nc nebula -n nebulaspace env=test

How to view the labels of NebulaGraph Database clusters?

Run the following command to view the labels of NebulaGraph Database clusters:

kubectl get nc <cluster_name> -n <namespace> --show-labels

For example, view the labels of the NebulaGraph Database cluster named nebula in the nebulaspace namespace:

kubectl get nc nebula -n nebulaspace --show-labels

How to delete the labels of NebulaGraph Database clusters?

Run the following command to delete the label of NebulaGraph Database clusters:

kubectl label nc <cluster_name> -n <namespace> <key>-

For example, delete the label env=test of the NebulaGraph Database cluster named nebula in the nebulaspace namespace:

kubectl label nc nebula -n nebulaspace env-

How to view the namespace where the NebulaGraph Database cluster is located?

Run the following command to list all namespaces where the NebulaGraph Database clusters are located:

kubectl get nc --all-namespaces