Skip to content

Customize installation defaults

This topic introduces how to customize the default configurations when installing NebulaGraph Operator.

Customizable parameters

When executing the helm install [NAME] [CHART] [flags] command to install a chart, you can specify the chart configuration. For more information, see Customizing the Chart Before Installing.

You can view the configurable options in the nebula-operator chart configuration file. Alternatively, you can view the configurable options through the command helm show values nebula-operator/nebula-operator, as shown below.

[root@master ~]$ helm show values nebula-operator/nebula-operator   
image:
  nebulaOperator:
    image: vesoft/nebula-operator:v1.8.0
    imagePullPolicy: Always

imagePullSecrets: [ ]
kubernetesClusterDomain: ""

controllerManager:
  create: true
  replicas: 2
  env: [ ]
  resources:
    limits:
      cpu: 200m
      memory: 200Mi
    requests:
      cpu: 100m
      memory: 100Mi
  verbosity: 0
  ## Additional InitContainers to initialize the pod
  # Example:
  #  extraInitContainers:
  #  - name: init-auth-sidecar
  #    command:
  #    - /bin/sh
  #    - -c
  #    args:
  #    - cp -R /certs/* /credentials/
  #    imagePullPolicy: Always
  #    image: reg.vesoft-inc.com/nebula-certs:latest
  #    volumeMounts:
  #    - name: credentials
  #      mountPath: /credentials
  extraInitContainers: []

  # sidecarContainers - add more containers to controller-manager
  # Key/Value where Key is the sidecar `- name: <Key>`
  # Example:
  #   sidecarContainers:
  #      webserver:
  #        image: nginx
  # OR for adding netshoot to controller manager
  #  sidecarContainers:
  #    netshoot:
  #      args:
  #      - -c
  #      - while true; do ping localhost; sleep 60;done
  #      command:
  #      - /bin/bash
  #      image: nicolaka/netshoot
  #      imagePullPolicy: Always
  #      name: netshoot
  #      resources: {}
  sidecarContainers: {}

  ## Additional controller-manager Volumes
  extraVolumes: []

  ## Additional controller-manager Volume mounts
  extraVolumeMounts: []

  securityContext: {}
  #  runAsNonRoot: true

admissionWebhook:
  create: false
  # The TCP port the Webhook server binds to. (default 9443)
  webhookBindPort: 9443

scheduler:
  create: true
  schedulerName: nebula-scheduler
  replicas: 2
  env: [ ]
  resources:
    limits:
      cpu: 200m
      memory: 200Mi
    requests:
      cpu: 100m
      memory: 100Mi
  verbosity: 0
  plugins:
    enabled: ["NodeZone"]
    disabled: [] # Only in-tree plugins need to be defined here
...

Part of the above parameters are described as follows:

Parameter Default value Description
image.nebulaOperator.image vesoft/nebula-operator:v1.8.0 The image of NebulaGraph Operator, version of which is 1.8.0.
image.nebulaOperator.imagePullPolicy IfNotPresent The image pull policy in Kubernetes.
imagePullSecrets - The image pull secret in Kubernetes. For example imagePullSecrets[0].name="vesoft".
kubernetesClusterDomain cluster.local The cluster domain.
controllerManager.create true Whether to enable the controller-manager component.
controllerManager.replicas 2 The number of controller-manager replicas.
controllerManager.env [] The environment variables for the controller-manager component.
controllerManager.extraInitContainers [] Runs an init container to generate encryption certificates. For details, see Enable mTLS.
controllerManager.sidecarContainers {} Runs a sidecar container to regularly monitor the expiration of the certificates and generate new ones as their expiration approaches.
controllerManager.extraVolumes [] Sets a storage volume to store and share certificate files.
controllerManager.extraVolumeMounts [] Sets the storage volume mount path.
controllerManager.securityContext {} Configures the access and control settings for NebulaGraph Operator.
admissionWebhook.create false Whether to enable Admission Webhook. This option is disabled. To enable it, set the value to true and you will need to install cert-manager. For details, see Enable admission control.
admissionWebhook.webhookBindPort 9443 The TCP port the Webhook server binds to. It is 9443 by default.
shceduler.create true Whether to enable Scheduler.
shceduler.schedulerName nebula-scheduler The name of the scheduler customized by NebulaGraph Operator. It is used to evenly distribute Storage Pods across different zones.
shceduler.replicas 2 The number of nebula-scheduler replicas.

Example

The following example shows how to enable AdmissionWebhook when you install NebulaGraph Operator (AdmissionWebhook is disabled by default):

helm install nebula-operator nebula-operator/nebula-operator --namespace=<nebula-operator-system> --set admissionWebhook.create=true

Check whether the specified configuration of NebulaGraph Operator is installed successfully:

helm get values nebula-operator -n <nebula-operator-system>

Example output:

USER-SUPPLIED VALUES:
admissionWebhook:
  create: true

For more information about helm install, see Helm Install.


Last update: March 6, 2024