创建 Helm 部署 values 文件

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

重要配置参数

neo4j.name

独立服务器和集群服务器之间没有区别。这意味着可以通过增加更多服务器将独立服务器升级为集群。所有 Neo4j 集群服务器都通过 neo4j.name 参数的值关联在一起。当通过 Neo4j Helm chart 安装时,它们将加入由 neo4j.name 标识的集群。
neo4j.name 与 Helm release name(发布名称) 不同,后者用于在 Kubernetes 中的其他地方引用集群服务器。
由 Helm chart 创建的所有其他 K8s 对象名称和标签均派生自 neo4j.name 和 release 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.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 chart 将自动为你生成一个。(请务必记下它。)

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

neo4j.edition 和 neo4j.acceptLicenseAgreement

默认情况下,Helm chart 安装的是 Neo4j 社区版(Community Edition)。
如果你想安装 Neo4j 企业版(Enterprise Edition),请设置配置参数 edition: "enterprise",并在拥有有效许可时将 neo4j.acceptLicenseAgreement 设置为 "yes",或者如果你想接受链接:Neo4j 评估许可,请设置为 "eval"。
有关如何获取 Neo4j 企业版有效许可的更多信息,请参阅 /licensing/ 和 link:/terms/licensing/,或使用 联系 Neo4j 表单。

volumes.data

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

有关所有 Neo4j Helm chart 配置选项的详细信息,请参阅配置 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"
  edition: "enterprise"
  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"
  edition: "enterprise"
  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
© . This site is unofficial and not affiliated with Neo4j, Inc.