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 labelskey1=value1andkey2=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