Skip to content

Commit

Permalink
reorg operator in 3.5.0-sc (#2366)
Browse files Browse the repository at this point in the history
* reorg operator in 3.5.0-sc

* Update mkdocs.yml

* Update 3.1.customize-installation.md

* Update 3.1.customize-installation.md
  • Loading branch information
abby-cyber authored Nov 22, 2023
1 parent 692e163 commit bb724d9
Show file tree
Hide file tree
Showing 43 changed files with 2,328 additions and 1,818 deletions.
2 changes: 1 addition & 1 deletion docs-2.0/20.appendix/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ You also need to run [Balance Data and Balance leader](../8.service-tuning/load-
{{ent.ent_begin}}
You can scale Graph and Storage services with Dashboard Enterprise Edition. For details, see [Scale](../nebula-dashboard-ent/4.cluster-operator/operator/scale.md).

You can also use NebulaGraph Operator to scale Graph and Storage services. For details, see [Deploy NebulaGraph clusters with Kubectl](../nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md) and [Deploy NebulaGraph clusters with Helm](../nebula-operator/3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md).
You can also use NebulaGraph Operator to scale Graph and Storage services. For details, see [Scale a NebulaGraph Cluster](../k8s-operator/4.cluster-administration/4.3.scaling/4.3.1.resizing.md).
{{ent.ent_end}}

#### Add or remove disks in the Storage nodes
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/20.appendix/6.eco-tool-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ NebulaGraph Exchange (Exchange for short) is an Apache Spark&trade application f

## NebulaGraph Operator

NebulaGraph Operator (Operator for short) 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. For more information, see [What is NebulaGraph Operator](../nebula-operator/1.introduction-to-nebula-operator.md).
NebulaGraph Operator (Operator for short) 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. For more information, see [What is NebulaGraph Operator](../k8s-operator/1.introduction-to-nebula-operator.md).

|NebulaGraph version|Operator version|
|:---|:---|
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/20.appendix/learning-path.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ After completing the NebulaGraph learning path, taking [NebulaGraph Certificatio

| Document |
| -------- |
| [NebulaGraph Operator](../nebula-operator/1.introduction-to-nebula-operator.md) |
| [NebulaGraph Operator](../k8s-operator/1.introduction-to-nebula-operator.md) |

- Graph algorithm

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/9.space-statements/6.clear-space.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

!!! note

It is recommended to execute [`SUBMIT JOB COMPACT`](../../4.job-statements/#submit_job_compact) immediately after executing the `CLEAR SPACE` operation improve the query performance. Note that the COMPACT operation may affect query performance, and it is recommended to perform this operation during low business hours (e.g., early morning).
It is recommended to execute [SUBMIT JOB COMPACT](../4.job-statements.md#submit_job_compact) immediately after executing the `CLEAR SPACE` operation improve the query performance. Note that the COMPACT operation may affect query performance, and it is recommended to perform this operation during low business hours (e.g., early morning).

## Permission requirements

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ You can install the Enterprise Edition and Community Edition of NebulaGraph with
- To install NebulaGraph with **NebulaGraph Dashboard Enterprise Edition**, see [Create a cluster](../../nebula-dashboard-ent/3.create-import-dashboard/1.create-cluster.md).
{{ ent.ent_end }}

- To install NebulaGraph with **NebulaGraph Operator**, see [Deploy NebulaGraph clusters with Kubectl](../../nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md) or [Deploy NebulaGraph clusters with Helm](../../nebula-operator/3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md).
- To install NebulaGraph with **NebulaGraph Operator**, see [Customize installation defaults](../../k8s-operator/2.get-started/2.1.install-operator.md).

{{ ent.ent_begin }}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,9 @@ By default, each NebulaGraph service gets configured from its configuration file
1. In the `<install_path>/nebula-docker-compose/docker-compose.yaml` file, modify the configurations of the target service.
2. In the `nebula-docker-compose` directory, run the command `docker-compose up -d` to restart the service involving configuration modifications.

* For clusters installed with Kubectl
* For clusters installed with NebulaGraph Operator

For details, see [Customize configuration parameters for a NebulaGraph cluster](../../nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md).
For details, see [Customize configuration parameters for a NebulaGraph cluster](../../k8s-operator/3.operator-management/3.1.customize-installation.md).

### Dynamically modifying configurations using command

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A License Manager (LM) is an essential service that runs on a server for you to manage your license and license the NebulaGraph enterprise edition database and its associated software. You can use an LM client that communicates with the LM service to load [license keys](2.license-center.md#license_key) and view license information, including the license validity period and purchased nodes. By configuring the LM service address in the NebulaGraph database and its associated software, the validity of the license can be verified to ensure the normal use of the NebulaGraph database and its associated software.

This article introduces how to deploy and use an LM service in a Linux environment and how to configure it within the Nebula Graph database and its associated software. For information on how to deploy the LM in a K8s cluster, see [Deploy LM](../../nebula-operator/3.deploy-nebula-graph-cluster/3.0.deploy-lm.md).
This article introduces how to deploy and use an LM service in a Linux environment and how to configure it within the Nebula Graph database and its associated software. For information on how to deploy the LM in a K8s cluster, see [Deploy LM](../../k8s-operator/2.get-started/2.2.deploy-lm.md).

## Preparations

Expand Down Expand Up @@ -279,7 +279,7 @@ You can use monitoring tools to monitor the status of the LM service.

!!! note

By default, LM uses port `9119`. If you need to change the port number, you can modify the value of the `Port` field in the LM configuration file above, or modify the value of `port` in the YAML file of [Deploying LM in K8s](../../nebula-operator/3.deploy-nebula-graph-cluster/3.0.deploy-lm.md).
By default, LM uses port `9119`. If you need to change the port number, you can modify the value of the `Port` field in the LM configuration file above, or modify the value of `port` in the YAML file of [Deploying LM in K8s](../../k8s-operator/2.get-started/2.2.deploy-lm.md).



Expand Down Expand Up @@ -324,9 +324,8 @@ After the configuration is complete, run `./run_pagerank.sh` in the `scripts` fo

### Configure LM in NebulaGraph Operator

- When deploying the cluster using Kubectl, configure the address and port of the LM through the `spec.metad.licenseManagerURL` field in the cluster configuration file. For more details, see [Deploying with Kubectl](../../nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md).
When deploying the cluster using NebulaGraph Operator, configure the address and port of the LM through the `spec.metad.licenseManagerURL` field in the cluster configuration file. For more details, see [Install a NebulaGraph cluster](../../k8s-operator/4.cluster-administration/4.1.installation/4.1.1.cluster-install.md).

- When deploying the cluster using Helm, specify the address and port of the LM with `--set nebula.metad.licenseManagerURL`. For more details, see [Deploying with Helm](../../nebula-operator/3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md).

## FAQ

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Backup Restore (BR for short) Enterprise Edition is a Command-Line Interface (CLI) tool. With BR Enterprise Edition, you can back up and restore NebulaGraph data.

For the deployment of BR in K8s Operator, see [Backup and restore data using NebulaGraph Operator](../../nebula-operator/10.backup-restore-using-operator.md).
For the deployment of BR in K8s Operator, see [Backup and restore data using NebulaGraph Operator](../../k8s-operator/4.cluster-administration/4.6.backup-and-restore.md).

!!! enterpriseonly

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Concept

NebulaGraph Operator is a tool to automate the deployment, operation, and maintenance of [NebulaGraph](https://github.com/vesoft-inc/nebula) clusters on [Kubernetes](https://kubernetes.io). 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](https://www.nebula-cloud.io/).
NebulaGraph Operator is a tool to automate the deployment, operation, and maintenance of [NebulaGraph](https://github.com/vesoft-inc/nebula) clusters on [Kubernetes](https://kubernetes.io). 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](https://docs-cdn.nebula-graph.com.cn/figures/operator_map_2022-09-08_18-55-18.png)

Expand All @@ -16,20 +16,17 @@ NebulaGraph Operator abstracts the deployment management of NebulaGraph clusters

The following features are already available in NebulaGraph Operator:

- **Deploy and uninstall clusters**: 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 [Deploy NebulaGraph Clusters with Kubectl](3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md) or [Deploy NebulaGraph Clusters with Helm](3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md).
- **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](../k8s-operator/4.cluster-administration/4.1.installation/4.1.1.cluster-install.md).

{{ent.ent_begin}}
- **Manage Zones**: Supports dividing multiple storage hosts into managed zones and creating graph spaces on specified storage hosts to achieve resource isolation. For more information, see [Create clusters using Zones with kubectl](3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md#create_clusters) or [Create clusters using Zones with Helm](3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md).
- **Disaster Recovery Zones**: Supports evenly distributing Storage Pods across zones to facilitate disaster recovery. For more information, see [Create clusters with zones](../k8s-operator/4.cluster-administration/4.8.ha-and-balancing/4.8.2.enable-zone.md).

- **Scale clusters**: 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 with Kubectl](3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md) or [Scale clusters with Helm](3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md).
- **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](../k8s-operator/4.cluster-administration/4.3.scaling/4.3.1.resizing.md).

- **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 that are compatible with the S3 protocol, and can also restore data to the cluster from the storage service. For details, see [Backup and restore using NebulaGraph Operator](10.backup-restore-using-operator.md).

{{ent.ent_end}}
- **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 that are compatible with the S3 protocol, and can also restore data to the cluster from the storage service. For details, see [Backup and restore using NebulaGraph Operator](../k8s-operator/4.cluster-administration/4.6.backup-and-restore.md).

- **Cluster Upgrade**: NebulaGraph Operator supports cluster upgrading from version {{operator.upgrade_from}} to version {{operator.upgrade_to}}.

- **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](5.operator-failover.md).
- **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](../k8s-operator/4.cluster-administration/4.8.ha-and-balancing/4.8.1.self-healing.md).

- **Balance Scheduling**: Based on the scheduler extension interface, the scheduler provided by NebulaGraph Operator evenly distributes Pods in a NebulaGraph cluster across all nodes.

Expand All @@ -41,21 +38,17 @@ NebulaGraph Operator does not support the v1.x version of NebulaGraph. NebulaGra

| NebulaGraph | NebulaGraph Operator |
| ------------- | -------------------- |
| 3.5.x | 1.5.0 ~ 1.7.x |
| 3.5.x ~ 3.6.0 | 1.5.0 ~ 1.7.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 |

!!! Compatibility "Legacy version compatibility"
!!! compatibility "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.

### Feature limitations

The NebulaGraph Operator scaling feature is only available for the Enterprise Edition of NebulaGraph clusters and does not support scaling the Community Edition version of NebulaGraph clusters.

## Release note

[Release](https://github.com/vesoft-inc/nebula-operator/releases/tag/{{operator.tag}})
[Release](https://github.com/vesoft-inc/nebula-operator/releases/tag/{{operator.tag}})
90 changes: 90 additions & 0 deletions docs-2.0/k8s-operator/2.get-started/2.1.install-operator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Install NebulaGraph Operator

You can deploy NebulaGraph Operator with [Helm](https://helm.sh/).

## Background

[NebulaGraph Operator](../1.introduction-to-nebula-operator.md) automates the management of NebulaGraph clusters, and eliminates the need for you to install, scale, upgrade, and uninstall NebulaGraph clusters, which lightens the burden on managing different application versions.

## Prerequisites

Before installing NebulaGraph Operator, you need to install the following software and ensure the correct version of the software :

| Software | Requirement |
| ------------------------------------------------------------ | --------- |
| [Kubernetes](https://kubernetes.io) | \>= 1.18 |
| [Helm](https://helm.sh) | \>= 3.2.0 |
| [CoreDNS](https://github.com/coredns/coredns) | \>= 1.6.0 |

!!! note

- If using a role-based access control policy, you need to enable [RBAC](https://kubernetes.io/docs/admin/authorization/rbac) (optional).

- [CoreDNS](https://coredns.io/) is a flexible and scalable DNS server that is [installed](https://github.com/coredns/helm) for Pods in NebulaGraph clusters.

## Steps

1. Add the NebulaGraph Operator Helm repository.

```bash
helm repo add nebula-operator https://vesoft-inc.github.io/nebula-operator/charts
```

2. Update information of available charts locally from repositories.

```bash
helm repo update
```

For more information about `helm repo`, see [Helm Repo](https://helm.sh/docs/helm/helm_repo/).

3. Create a namespace for NebulaGraph Operator.

```bash
kubectl create namespace <namespace_name>
```

For example, run the following command to create a namespace named `nebula-operator-system`.

```bash
kubectl create namespace nebula-operator-system
```

All the resources of NebulaGraph Operator are deployed in this namespace.

4. Install NebulaGraph Operator.

```bash
helm install nebula-operator nebula-operator/nebula-operator --namespace=<namespace_name> --version=${chart_version}
```

For example, the command to install NebulaGraph Operator of version {{operator.release}} is as follows.

```bash
helm install nebula-operator nebula-operator/nebula-operator --namespace=nebula-operator-system --version={{operator.release}}
```

`{{operator.release}}` is the version of the nebula-operator chart. When not specifying `--version`, the latest version of the nebula-operator chart is used by default.

Run `helm search repo -l nebula-operator` to see chart versions.

You can customize the configuration items of the NebulaGraph Operator chart before running the installation command. For more information, see [Customize installation defaults](../3.operator-management/3.1.customize-installation.md).

5. View the information about the default-created CRD.

```bash
kubectl get crd
```

Output:

```bash
NAME CREATED AT
nebulaautoscalers.autoscaling.nebula-graph.io 2023-11-01T04:16:51Z
nebulaclusters.apps.nebula-graph.io 2023-10-12T07:55:32Z
nebularestores.apps.nebula-graph.io 2023-02-04T23:01:00Z
```

## What's next

[Deploy LM](2.2.deploy-lm.md)
Loading

0 comments on commit bb724d9

Please sign in to comment.