创建 Helm 部署值文件

您为每个 Neo4j 集群成员创建一个包含所有配置设置的 Helm 部署 YAML 文件。

重要配置参数

neo4j.name

独立服务器和集群服务器没有区别。这意味着可以通过添加更多服务器将独立服务器升级为集群。所有 Neo4j 集群服务器都通过参数 neo4j.name 的值连接在一起。通过 Neo4j Helm Chart 安装时,它们将加入由 neo4j.name 标识的集群。
neo4j.name 不同于 Helm 发布名称,发布名称用于在 Kubernetes 中的其他地方引用集群服务器。
Helm Chart 创建的所有其他 K8s 对象的名称和标签都源自 neo4j.name发布名称neo4j.name 参数是强制性的,如果未指定,安装将失败。neo4j.name 在命名空间内必须是唯一的。

如果您想在同一命名空间中安装 2 个集群,它们的 neo4j.name 值必须不同。

neo4j.minimumClusterSize

独立服务器和集群服务器没有区别。默认情况下,集群中的服务器可以托管主数据库和辅助数据库。有关更多详细信息,请参阅操作视图
neo4j.minimumClusterSize 默认设置为 1,这意味着服务器无需等待其他服务器即可启动。安装集群时,您应将 neo4j.minimumClusterSize 设置为集群中所需成员的数量。如果您以后决定添加超出 neo4j.minimumClusterSize 的额外集群服务器,则需要使用 Cypher 命令 ENABLE SERVER 手动启用它。您还可以使用配置参数 neo4j.operations.enableServer 在服务器加入集群时自动启用它。有关更多信息,请参阅横向扩展

neo4j.resources

Neo4j 集群成员的大小由 neo4j.resources.cpuneo4j.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 Chart 将自动为您生成一个。(请记下它。)

您不能使用 neo4j 作为初始密码,因为这是默认密码。

neo4j.editionneo4j.acceptLicenseAgreement

默认情况下,Helm Chart 安装 Neo4j Community Edition。
如果您想安装 Neo4j Enterprise Edition,请设置配置参数 edition: "enterprise",并通过将 neo4j.acceptLicenseAgreement 设置为 "yes"(如果您有有效许可证)或 "eval"(如果您想接受链接:Neo4j 评估许可证)来确认许可证合规性。
有关如何获取 Neo4j Enterprise Edition 有效许可证的更多信息,请参阅 https://neo4j.ac.cn/licensing/ 和链接:https://neo4j.ac.cn/terms/licensing/,或使用表单联系 Neo4j

volumes.data

volumes.data 参数将每个集群成员的 data 卷挂载映射到该成员的持久卷。有关更多信息,请参阅卷挂载和持久卷

有关所有 Neo4j Helm Chart 配置选项的详细信息,请参阅配置 Neo4j Helm 部署

为每台服务器创建 values.yaml 文件

根据您的 Kubernetes 环境选择选项卡,并使用提供的示例,为您的每个集群服务器创建一个包含所有配置设置的 YAML 文件。

本指南假定 YAML 文件名为 server-1.values.yamlserver-2.values.yamlserver-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
© . All rights reserved.