diff --git a/charts/nebula-cluster/templates/nebula-cluster.yaml b/charts/nebula-cluster/templates/nebula-cluster.yaml index b852eafa..5978810f 100644 --- a/charts/nebula-cluster/templates/nebula-cluster.yaml +++ b/charts/nebula-cluster/templates/nebula-cluster.yaml @@ -73,7 +73,7 @@ spec: requests: storage: {{ .Values.nebula.metad.dataStorage }} {{- if .Values.nebula.storageClassName }} - storageClassName: {{ .Values }} + storageClassName: {{ .Values.nebula.storageClassName }} {{- end }} labels: {{ toYaml .Values.nebula.metad.podLabels | nindent 6 }} annotations: {{ toYaml .Values.nebula.metad.podAnnotations | nindent 6 }} @@ -197,8 +197,7 @@ spec: imagePullSecrets: {{ toYaml .Values.imagePullSecrets | nindent 4 }} {{- end }} schedulerName: {{ .Values.nebula.schedulerName }} - topologySpreadConstraints: {{ .Values.nebula.topologySpreadConstraints }} - unsatisfiableAction: {{ .Values.nebula.unsatisfiableAction }} + topologySpreadConstraints: {{ toYaml .Values.nebula.topologySpreadConstraints | nindent 4 }} enablePVReclaim: {{ .Values.nebula.enablePVReclaim }} enableBR: {{ .Values.nebula.enableBR }} {{- if .Values.nebula.logRotate }} diff --git a/charts/nebula-cluster/values.yaml b/charts/nebula-cluster/values.yaml index 643c0f52..44625e65 100644 --- a/charts/nebula-cluster/values.yaml +++ b/charts/nebula-cluster/values.yaml @@ -6,8 +6,9 @@ nebula: enableBR: false enableForceUpdate: false schedulerName: default-scheduler # nebula-scheduler - topologySpreadConstraints: [] - unsatisfiableAction: ScheduleAnyway + topologySpreadConstraints: + - topologyKey: "kubernetes.io/hostname" + whenUnsatisfiable: "ScheduleAnyway" logRotate: {} reference: name: statefulsets.apps @@ -107,8 +108,11 @@ nebula: nodeSelector: {} tolerations: [] affinity: {} - livenessProbe: {} readinessProbe: {} + livenessProbe: {} + initContainers: [] + sidecarContainers: [] + sidecarVolumes: [] maxRequests: 20 agent: diff --git a/doc/user/nebula_cluster_helm_guide.md b/doc/user/nebula_cluster_helm_guide.md index 2c042994..57046dd9 100644 --- a/doc/user/nebula_cluster_helm_guide.md +++ b/doc/user/nebula_cluster_helm_guide.md @@ -72,59 +72,82 @@ $ helm uninstall "${NEBULA_CLUSTER_NAME}" --namespace="${NEBULA_CLUSTER_NAMESPAC 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.5.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 | `nil` | -| `nebula.schedulerName` | Scheduler for nebula component | `default-scheduler` | -| `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.logStorage` | Graphd log volume size | `1Gi` | -| `nebula.graphd.podLabels` | Graphd pod labels | `{}` | -| `nebula.graphd.podAnnotations` | Graphd pod annotations | `{}` | -| `nebula.graphd.nodeSelector` | Graphd nodeSelector | `{}` | -| `nebula.graphd.tolerations` | Graphd pod tolerations | `{}` | -| `nebula.graphd.affinity` | Graphd affinity | `{}` | -| `nebula.graphd.readinessProbe` | Graphd pod readinessProbe | `{}` | -| `nebula.graphd.initContainers` | Graphd pod init containers | `{}` | -| `nebula.graphd.sidecarContainers` | Graphd pod sidecar containers | `{}` | -| `nebula.graphd.sidecarVolumes` | Graphd pod sidecar volumes | `{}` | -| `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.logStorage` | Metad log volume size | `1Gi` | -| `nebula.metad.dataStorage` | Metad data volume size | `5Gi` | -| `nebula.metad.podLabels` | Metad pod labels | `{}` | -| `nebula.metad.podAnnotations` | Metad pod annotations | `{}` | -| `nebula.metad.nodeSelector` | Metad nodeSelector | `{}` | -| `nebula.metad.tolerations` | Metad pod tolerations | `{}` | -| `nebula.metad.affinity` | Metad affinity | `{}` | -| `nebula.metad.readinessProbe` | Metad pod readinessProbe | `{}` | -| `nebula.graphd.initContainers` | Graphd pod init containers | `{}` | -| `nebula.metad.sidecarContainers` | Metad pod sidecar containers | `{}` | -| `nebula.metad.sidecarVolumes` | Metad pod sidecar volumes | `{}` | -| `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.logStorage` | Storaged log volume size | `1Gi` | -| `nebula.storaged.dataStorage` | Storaged data volume size | `10Gi` | -| `nebula.storaged.podLabels` | Storaged pod labels | `{}` | -| `nebula.storaged.podAnnotations` | Storaged pod annotations | `{}` | -| `nebula.storaged.nodeSelector` | Storaged nodeSelector | `{}` | -| `nebula.storaged.tolerations` | Storaged pod tolerations | `{}` | -| `nebula.storaged.affinity` | Storaged affinity | `{}` | -| `nebula.storaged.readinessProbe` | Storaged pod readinessProbe | `{}` | -| `nebula.graphd.initContainers` | Graphd pod init containers | `{}` | -| `nebula.storaged.sidecarContainers` | Storaged pod sidecar containers | `{}` | -| `nebula.storaged.sidecarVolumes` | Storaged pod sidecar volumes | `{}` | -| `imagePullSecrets` | The secret to use for pulling the images | `[]` | +| Parameter | Description | Default | +|:-------------------------------------|:-----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------| +| `nameOverride` | Override the name of the chart | `nil` | +| `nebula.version` | Nebula image tag | `v3.5.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.logStorage` | Graphd log volume size | `1Gi` | +| `nebula.graphd.podLabels` | Graphd pod labels | `{}` | +| `nebula.graphd.podAnnotations` | Graphd pod annotations | `{}` | +| `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.sidecarVolumes` | Graphd pod sidecar volumes | `{}` | +| `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.logStorage` | Metad log volume size | `1Gi` | +| `nebula.metad.dataStorage` | Metad data volume size | `5Gi` | +| `nebula.metad.podLabels` | Metad pod labels | `{}` | +| `nebula.metad.podAnnotations` | Metad pod annotations | `{}` | +| `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.sidecarVolumes` | Metad pod sidecar volumes | `{}` | +| `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.logStorage` | Storaged log volume size | `1Gi` | +| `nebula.storaged.dataStorage` | Storaged data volume size | `10Gi` | +| `nebula.storaged.podLabels` | Storaged pod labels | `{}` | +| `nebula.storaged.podAnnotations` | Storaged pod annotations | `{}` | +| `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.sidecarVolumes` | Storaged pod sidecar volumes | `{}` | +| `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.sidecarVolumes` | Exporter pod sidecar volumes | `{}` | +| `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"}}}` | +| `imagePullSecrets` | The secret to use for pulling the images | `[]` | +| `logRotate` | The nebula pod log rotate configuration | `{}` |