创建 Helm 部署值文件
您为每个 Neo4j 集群成员创建一个 Helm 部署 YAML 文件,其中包含所有配置设置。
重要的配置参数
neo4j.name
-
从 Neo4j 5.0.0 开始,独立服务器和集群服务器没有区别。这意味着可以通过添加更多服务器将独立服务器升级到集群。所有 Neo4j 集群服务器都通过参数
neo4j.name
的值链接在一起。通过 Neo4j Helm 图表安装时,它们将加入由neo4j.name
标识的集群。
neo4j.name
与 Helm 的 发布名称 不同,后者用于在 Kubernetes 中的其他地方引用集群服务器。
Helm 图表创建的所有其他 K8s 对象的名称和标签都源自neo4j.name
和 发布名称。neo4j.name
参数是必需的,如果未指定,则安装将失败。neo4j.name
在命名空间内必须是唯一的。如果要在一个命名空间中安装 2 个集群,则它们必须具有不同的
neo4j.name
值。 neo4j.minimumClusterSize
-
从 Neo4j 5.0.0 开始,独立服务器和集群服务器没有区别。默认情况下,集群中的服务器可以托管主数据库和辅助数据库。有关更多详细信息,请参阅 操作视图。
默认情况下,neo4j.minimumClusterSize
设置为 1,这意味着服务器在无需等待其他服务器的情况下启动。安装集群时,应将neo4j.minimumClusterSize
设置为集群中所需成员的数量。如果您稍后决定添加超过neo4j.minimumClusterSize
的额外集群服务器,则需要使用 Cypher 命令ENABLE SERVER
手动启用它。从 Neo4j 5.20 开始,您还可以使用配置参数neo4j.operations.enableServer
在服务器加入集群时自动启用它。有关更多信息,请参阅水平扩展。 neo4j.resources
-
Neo4j 集群成员的大小由
neo4j.resources.cpu
和neo4j.resources.memory
参数的值定义。Neo4j 实例的最小值为0.5
个 CPU 和2GB
内存。如果提供的无效值或小于最小值,Helm 将抛出错误,例如Error: template: neo4j/templates/_helpers.tpl:157:11: executing "neo4j.resources.evaluateCPU" at <fail (printf "Provided cpu value %s is less than minimum. \n %s" (.Values.neo4j.resources.cpu) (include "neo4j.resources.invalidCPUMessage" .))>: error calling fail: Provided cpu value 0.25 is less than minimum. cpu value cannot be less than 0.5 or 500m
有关更多信息,请参阅配置资源分配。
neo4j.password
-
neo4j
用户的密码。所有集群成员都必须设置相同的密码。
如果您未提供密码,Neo4j Helm 图表将自动为您生成一个。(请记下它。)您不能使用
neo4j
作为初始密码,因为这是默认密码。 neo4j.edition
和neo4j.acceptLicenseAgreement
-
默认情况下,Helm 图表安装 Neo4j 社区版。
如果您想安装 Neo4j 企业版,请设置配置参数edition: "enterprise"
,并在您拥有有效许可证的情况下将neo4j.acceptLicenseAgreement
设置为"yes"
以确认许可证合规性,或者如果您想接受链接:Neo4j 评估许可证,则将其设置为"eval"
。
有关如何获取 Neo4j 企业版有效许可证的更多信息,请参阅https://neo4j.ac.cn/licensing/ 和链接:https://neo4j.ac.cn/terms/licensing/,或使用表单联系 Neo4j。 volumes.data
-
volumes.data
参数将每个集群成员的data
卷挂载映射到该成员的持久卷。有关更多信息,请参阅卷挂载和持久卷。
有关所有 Neo4j Helm 图表配置选项的详细信息,请参阅配置 Neo4j Helm 部署。 |
为每个服务器创建 values.yaml 文件
根据您的 Kubernetes 环境选择选项卡,并使用提供的示例为您的每个集群服务器创建一个 YAML 文件,其中包含所有配置设置。
本指南假设 YAML 文件名为 server-1.values.yaml、server-2.values.yaml 和 server-3.values.yaml。
这些示例使用供应商提供的存储类。如果您想使用其他类型的存储类,例如区域磁盘,请查阅云供应商文档以了解如何创建新的存储类。
neo4j:
name: "my-cluster"
minimumClusterSize: 3
resources:
cpu: "0.5"
memory: "2Gi"
password: "my-password"
edition: "enterprise"
acceptLicenseAgreement: "yes"
volumes:
data:
mode: "dynamic"
dynamic:
# * premium-rwo provisions SSD disks (recommended)
# * standard-rwo provisions balanced SSD-backed disks
# * standard provisions HDD disks
storageClassName: premium-rwo
neo4j:
name: "my-cluster"
minimumClusterSize: 3
resources:
cpu: "0.5"
memory: "2Gi"
password: "my-password"
acceptLicenseAgreement: "yes"
volumes:
data:
mode: "dynamic"
dynamic:
# gp2 is a general-purpose SSD volume
storageClassName: gp2
neo4j:
name: "my-cluster"
minimumClusterSize: 3
resources:
cpu: "0.5"
memory: "2Gi"
password: "my-password"
acceptLicenseAgreement: "yes"
volumes:
data:
mode: "dynamic"
dynamic:
# * managed-csi-premium provisions premium SSD disks (recommended)
# * managed-csi provisions standard SSD backed disks
storageClassName: managed-csi-premium