Please install nebula-operator before installing NebulaGraph cluster.
```shell script
$ helm repo add nebula-operator https://vesoft-inc.github.io/nebula-operator/charts $ helm repo update
_See [helm repo](https://helm.sh/docs/helm/helm_repo/) for command documentation._
### Install with helm
```shell script
export NEBULA_CLUSTER_NAME=nebula # the name for nebula cluster
export NEBULA_CLUSTER_NAMESPACE=nebula # the namespace you want to install the nebula cluster
export STORAGE_CLASS_NAME=gp2 # the storage class for the nebula cluster
$ kubectl create namespace "${NEBULA_CLUSTER_NAMESPACE}" # If you have already created it, please skip.
$ helm install "${NEBULA_CLUSTER_NAME}" nebula-operator/nebula-cluster \
--namespace="${NEBULA_CLUSTER_NAMESPACE}" \
--set nameOverride=${NEBULA_CLUSTER_NAME} \
--set nebula.storageClassName="${STORAGE_CLASS_NAME}"
# Please wait a while for the cluster to be ready.
$ kubectl -n "${NEBULA_CLUSTER_NAMESPACE}" get pod -l "app.kubernetes.io/cluster=${NEBULA_CLUSTER_NAME}"
NAME READY STATUS RESTARTS AGE
nebula-graphd-0 1/1 Running 0 5m34s
nebula-graphd-1 1/1 Running 0 5m34s
nebula-metad-0 1/1 Running 0 5m34s
nebula-metad-1 1/1 Running 0 5m34s
nebula-metad-2 1/1 Running 0 5m34s
nebula-storaged-0 1/1 Running 0 5m34s
nebula-storaged-1 1/1 Running 0 5m34s
nebula-storaged-2 1/1 Running 0 5m34s
$ helm upgrade "${NEBULA_CLUSTER_NAME}" nebula-operator/nebula-cluster \
--namespace="${NEBULA_CLUSTER_NAMESPACE}" \
--set nameOverride=${NEBULA_CLUSTER_NAME} \
--set nebula.storageClassName="${STORAGE_CLASS_NAME}" \
--set nebula.storaged.replicas=5
# Please wait a while for the cluster to be ready.
$ kubectl -n "${NEBULA_CLUSTER_NAMESPACE}" get pod -l "app.kubernetes.io/cluster=${NEBULA_CLUSTER_NAME}"
NAME READY STATUS RESTARTS AGE
nebula-graphd-0 1/1 Running 0 10m
nebula-graphd-1 1/1 Running 0 10m
nebula-metad-0 1/1 Running 0 10m
nebula-metad-1 1/1 Running 0 10m
nebula-metad-2 1/1 Running 0 10m
nebula-storaged-0 1/1 Running 0 10m
nebula-storaged-1 1/1 Running 0 10m
nebula-storaged-2 1/1 Running 0 10m
nebula-storaged-3 1/1 Running 0 56s
nebula-storaged-4 1/1 Running 0 56s
$ helm uninstall "${NEBULA_CLUSTER_NAME}" --namespace="${NEBULA_CLUSTER_NAMESPACE}"
The following table lists is the configurable parameters of the chart and their default values.
Parameter | Description | Default |
---|---|---|
nameOverride |
Override the name of the chart | nil |
nebula.version |
Nebula image tag | v3.6.0 |
nebula.imagePullPolicy |
Nebula image pull policy | Always |
enablePVReclaim |
Flag to enable/disable PV reclaim while the Nebula cluster deleted | false |
enableBR |
Flag to enable/disable sidecar container nebula-agent injection | false |
enableForUpdate |
Flag to enable/disable rolling update without leader state transition | false |
nebula.storageClassName |
StorageClass object name | "" |
nebula.schedulerName |
Scheduler for nebula component | default-scheduler |
nebula.topologySpreadConstraints |
Topology spread constraints to control how Pods are spread across failure-domains | [] |
nebula.reference |
Reference for nebula component | {"name": "statefulsets.apps", "version": "v1"} |
nebula.graphd.image |
Graphd container image without tag, and use nebula.version as tag |
vesoft/nebula-graphd |
nebula.graphd.replicas |
Graphd replica number | 2 |
nebula.graphd.env |
Graphd container environment variables | [] |
nebula.graphd.resources |
Graphd resources | {"resources":{"requests":{"cpu":"500m","memory":"500Mi"},"limits":{"cpu":"1","memory":"1Gi"}}} |
nebula.graphd.logVolume |
Graphd log volume | {"enable":true,"storage":"500Mi"} |
nebula.graphd.podLabels |
Graphd pod labels | {} |
nebula.graphd.podAnnotations |
Graphd pod annotations | {} |
nebula.graphd.SecurityContext |
Graphd security context | {} |
nebula.graphd.nodeSelector |
Graphd nodeSelector | {} |
nebula.graphd.tolerations |
Graphd pod tolerations | [] |
nebula.graphd.affinity |
Graphd affinity | {} |
nebula.graphd.readinessProbe |
Graphd pod readinessProbe | {} |
nebula.graphd.livenessProbe |
Graphd pod livenessProbe | {} |
nebula.graphd.initContainers |
Graphd pod init containers | [] |
nebula.graphd.sidecarContainers |
Graphd pod sidecar containers | [] |
nebula.graphd.volumes |
Graphd pod volumes | [] |
nebula.graphd.volumeMounts |
Graphd pod volume mounts | [] |
nebula.metad.image |
Metad container image without tag, and use nebula.version as tag |
vesoft/nebula-metad |
nebula.metad.replicas |
Metad replica number | 3 |
nebula.metad.env |
Metad container environment variables | [] |
nebula.metad.resources |
Metad resources | {"resources":{"requests":{"cpu":"500m","memory":"500Mi"},"limits":{"cpu":"1","memory":"1Gi"}}} |
nebula.metad.logVolume |
Metad log volum | {"enable":true,"storage":"500Mi"} |
nebula.metad.dataVolume |
Metad data volume | [] |
nebula.metad.podLabels |
Metad pod labels | {} |
nebula.metad.podAnnotations |
Metad pod annotations | {} |
nebula.metad.SecurityContext |
Metad security context | {} |
nebula.metad.nodeSelector |
Metad nodeSelector | {} |
nebula.metad.tolerations |
Metad pod tolerations | [] |
nebula.metad.affinity |
Metad affinity | {} |
nebula.metad.readinessProbe |
Metad pod readinessProbe | {} |
nebula.metad.livenessProbe |
Metad pod livenessProbe | {} |
nebula.metad.initContainers |
Metad pod init containers | [] |
nebula.metad.sidecarContainers |
Metad pod sidecar containers | [] |
nebula.metad.volumes |
Metad pod volumes | [] |
nebula.metad.volumeMounts |
Metad pod volume mounts | [] |
nebula.storaged.image |
Storaged container image without tag, and use nebula.version as tag |
vesoft/nebula-storaged |
nebula.storaged.replicas |
Storaged replica number | 3 |
nebula.storaged.env |
Storaged container environment variables | [] |
nebula.storaged.resources |
Storaged resources | {"resources":{"requests":{"cpu":"500m","memory":"500Mi"},"limits":{"cpu":"1","memory":"1Gi"}}} |
nebula.storaged.logVolume |
Storaged log volume | {"enable":true,"storage":"500Mi"} |
nebula.storaged.dataVolumes |
Storaged data volumes | [] |
nebula.storaged.podLabels |
Storaged pod labels | {} |
nebula.storaged.podAnnotations |
Storaged pod annotations | {} |
nebula.storaged.SecurityContext |
Storaged security context | {} |
nebula.storaged.nodeSelector |
Storaged nodeSelector | {} |
nebula.storaged.tolerations |
Storaged pod tolerations | [] |
nebula.storaged.affinity |
Storaged affinity | {} |
nebula.storaged.readinessProbe |
Storaged pod readinessProbe | {} |
nebula.storaged.livenessProbe |
Storaged pod livenessProbe | {} |
nebula.storaged.initContainers |
Stroaged pod init containers | [] |
nebula.storaged.sidecarContainers |
Storaged pod sidecar containers | [] |
nebula.storaged.volumes |
Storaged pod volumes | [] |
nebula.storaged.volumeMounts |
Storaged pod volume mounts | [] |
nebula.exporter.image |
Exporter container image without tag | vesoft/nebula-stats-exporter |
nebula.exporter.version |
Exporter container image tag | v3.3.0 |
nebula.exporter.replicas |
Exporter replica number | 1 |
nebula.exporter.env |
Exporter container environment variables | [] |
nebula.exporter.resources |
Exporter resources | {"resources":{"requests":{"cpu":"100m","memory":"128Mi"},"limits":{"cpu":"200m","memory":"256Mi"}}} |
nebula.exporter.podLabels |
Exporter pod labels | {} |
nebula.exporter.podAnnotations |
Exporter pod annotations | {} |
nebula.exporter.nodeSelector |
Exporter nodeSelector | {} |
nebula.exporter.tolerations |
Exporter pod tolerations | [] |
nebula.exporter.affinity |
Exporter affinity | {} |
nebula.exporter.readinessProbe |
Exporter pod readinessProbe | {} |
nebula.exporter.livenessProbe |
Exporter pod livenessProbe | {} |
nebula.exporter.initContainers |
Exporter pod init containers | [] |
nebula.exporter.sidecarContainers |
Exporter pod sidecar containers | [] |
nebula.exporter.volumes |
Exporter pod volumes | [] |
nebula.exporter.volumeMounts |
Exporter pod volume mounts | [] |
nebula.exporter.maxRequests |
Maximum number of parallel scrape requests. Use 0 to disable. | 20 |
nebula.agent.image |
Agent container image without tag | vesoft/nebula-agent |
nebula.agent.version |
Agent container image tag | latest |
nebula.agent.resources |
Agent resources | {"resources":{"requests":{"cpu":"100m","memory":"128Mi"},"limits":{"cpu":"200m","memory":"256Mi"}}} |
nebula.console.image |
nebula console container image without tag | vesoft/nebula-console |
nebula.console.version |
nebula console container image tag | latest |
nebula.console.username |
nebula cluster username | root |
nebula.console.password |
nebula cluster password | nebula |
nebula.console.nodeSelector |
nebula console nodeSelector | {} |
imagePullSecrets |
The secret to use for pulling the images | [] |
logRotate |
The nebula pod log rotate configuration | {} |
alpineImage |
Nebula alpine image | "" |