配置参考

包含所有可配置参数及其默认值的列表的参考表。

常规配置

表 1. 常规配置参考
参数 描述 默认值

image

Neo4j 镜像

neo4j

imageTag

Neo4j 版本

(默认值与 helm 图表的发布版本一致)

imagePullPolicy

镜像拉取策略

IfNotPresent

podDisruptionBudget

Pod 中断预算

{}

authEnabled

是否需要登录/密码?

true

plugins

要自动安装的插件。(语法必须是有效的 JSON 数组字符串) 有效插件列在此处

"[\"apoc\"]"

defaultDatabase

在 Neo4j 中配置的默认数据库的名称 (dbms.default_database)

neo4j

neo4jPassword

如果需要密码,则登录 Neo4J 数据库的密码

(10 个字符的随机字符串)

existingPasswordSecret

包含 neo4j 密码的 kubernetes 密钥的名称

(无)

existingPasswordSecretKey

existingPasswordSecret 中包含 neo4j 密码的密钥

neo4j-password

podLabels

要应用于核心和副本 statefulset pod 的额外/自定义标签

{}

podAnnotations

要应用于核心和副本 statefulset pod 的额外/自定义注释。

{}

rbac.create

是否为该图表创建角色和角色绑定。

true

serviceAccount.create

是否为该图表创建服务帐户。

true

serviceAccount.annotations

要应用于核心和副本服务帐户的额外/自定义注释。

{}

serviceAccount.name

自定义核心和副本服务帐户名称。如果为空,名称将从图表的完整名称生成。

(无)

securityContext

Neo4j pod 的 安全上下文

默认值为 {},但我们建议使用 { runAsNonRoot: true, runAsUser: 7474 },以便 pod 不以 root 身份运行。 更多信息请参见此处

containerSecurityContext

Neo4j 数据库容器的 安全上下文

默认值为 {},我们建议仅在 pod 安全上下文不可用时才设置 containerSecurityContext。

Neo4j 核心成员

表 2. 核心成员配置参考

参数

描述

默认值

core.configMap

提供核心集群成员配置的 ConfigMap。如果未指定,将使用图表附带的默认值。

$NAME-neo4j-core-config

core.envFrom

envFrom 条目的 YAML 列表,允许从任意数量的 ConfigMap 和密钥中设置 pod 的配置。

[]

core.standalone

是否以单服务器 STANDALONE 模式运行。在使用 standalone 模式时,core.numberOfServers 将被忽略,您将只获得 1 个 Neo4j Pod。其余的 core 配置适用。

false

core.resources

核心数据库成员所需的资源 (例如 CPU、内存)

{} (没有特定请求或限制)

core.numberOfServers

CORE 模式下的机器数量

3

core.sideCarContainers

要添加到核心 pod 的 sidecar 容器。例如,使用 http API 时标识并标记领导者的 sidecar

{}

core.initContainers

要添加到核心 pod 的初始化容器。例如,安装自定义插件/扩展的脚本

{}

core.persistentVolume.enabled

是否启用持久性

true

core.persistentVolume.storageClass

支持 PVC 的存储类

standard (使用 beta 存储类注释)

core.persistentVolume.size

数据卷的大小

1Ti

core.persistentVolume.mountPath

持久卷挂载根路径

/data

core.persistentVolume.subPath

要挂载的卷的子目录

nil

core.persistentVolume.annotations

持久卷声明注释

{}

core.additionalVolumes

有关此选项的更多信息,请参见用户指南中的“其他存储”部分。

{}

core.additionalVolumeMounts

有关此选项的更多信息,请参见用户指南中的“其他存储”部分。

{}

core.terminationGracePeriodSeconds

底层 pod 终止宽限期;允许 Neo4j 关闭以在退出之前将缓冲区正确刷新到磁盘,避免数据损坏。

300

core.service.type

服务类型

ClusterIP

core.service.annotations

服务注释

{}

core.service.labels

自定义服务标签

{}

core.service.loadBalancerSourceRanges

允许访问 LB (如果 core.service.type: LoadBalancer) 的 IP CIDR 列表

[]

core.discoveryService.type

服务类型

ClusterIP

core.discoveryService.annotations

服务注释

{}

core.discoveryService.labels

自定义服务标签

{}

core.discoveryService.loadBalancerSourceRanges

允许访问 LB (如果 core.discoveryService.type: LoadBalancer) 的 IP CIDR 列表

[]

Neo4j 只读副本

表 3. 只读副本配置参考

参数

描述

默认值

readReplica.configMap

提供 RR 集群成员配置的 ConfigMap。如果未指定,将使用图表附带的默认值。

$NAME-neo4j-replica-config

readReplica.envFrom

envFrom 条目的 YAML 列表,允许从任意数量的 ConfigMap 和密钥中设置 pod 的配置。

[]

readReplica.resources

只读副本数据库成员所需的资源 (例如 CPU、内存)

{} (没有特定请求或限制)

readReplica.numberOfServers

READ_REPLICA 中的机器数量。不能与 core.standalone=true 模式一起使用

0

readReplica.autoscaling.enabled

启用水平 pod 自动缩放器

false

readReplica.autoscaling.targetAverageUtilization

目标 CPU 利用率

70

readReplica.autoscaling.minReplicas

自动缩放的最小副本数

1

readReplica.autoscaling.maxReplicas

自动缩放的最大副本数

3

readReplica.initContainers

要添加到副本 pod 的初始化容器。例如,安装自定义插件/扩展的脚本

{}

readReplica.persistentVolume.*

参见 core.persistentVolume.* 设置;它们在只读副本中行为相同

N/A

readReplica.additionalVolumes

有关此选项的更多信息,请参见用户指南中的“其他存储”部分。

{}

readReplica.additionalVolumeMounts

有关此选项的更多信息,请参见用户指南中的“其他存储”部分。

{}

readReplica.terminationGracePeriodSeconds

底层 pod 终止宽限期;允许 Neo4j 关闭以在退出之前将缓冲区正确刷新到磁盘,避免数据损坏。

300

readReplica.service.type

服务类型

ClusterIP

readReplica.service.annotations

服务注释

{}

readReplica.service.labels

自定义服务标签

{}

readReplica.service.loadBalancerSourceRanges

允许访问 LB (如果 readReplica.service.type: LoadBalancer) 的 IP CIDR 列表

[]

命名您的部署

此图表使用 fullnameOverride 约定,允许您控制应用于集群的资源的名称。默认情况下,当您安装名为 mygraph 的发布时,您最终会得到名为 mygraph-neo4j-coremygraph-neo4j-replica 之类的资源,这些资源是发布名称、应用程序名称和组件名称。

如果您想覆盖此项,您可以指定以下任何值

  • fullnameOverride

  • fullnamePrefix

  • fullnameSuffix

例如,如果您设置 fullnameOverride=graphfullnamePrefix=marketing,那么您将看到部署的资源名称类似于

  • marketing-graph-core

  • marketing-graph-replica

(等等),它将省略 helm 发布名称和应用程序名称 (neo4j)。