先决条件

在 Kubernetes 上部署 Neo4j 独立实例之前,您需要完成以下操作:

常规先决条件

  • 配置 Neo4j Helm chart 仓库.

  • 如果您想安装 Neo4j 企业版,请获取有效的许可证;或者,如果您愿意接受 Neo4j 评估许可证,请将配置参数 edition: "enterprise" 设置为 "eval"。Neo4j 社区版(独立版 chart 的默认配置)不需要许可证。
    有关如何获取商业许可证的更多信息,请参阅 /licensing/ 和 link:/terms/licensing/,或使用 联系 Neo4j 表单。

  • 安装 Kubernetes 客户端命令行工具 kubectl (https://kubernetes.ac.cn/docs/tasks/tools/)。

  • 设置一个具有足够 CPU 和内存的 Kubernetes 集群,以支持您的 Neo4j 部署。

    本指南适用于为每个 Neo4j 实例分配最少 CPU 和内存的情况。然而,Neo4j 的系统要求很大程度上取决于软件的使用方式。因此,在开发或生产环境中运行 Neo4j 时,请参考 系统要求

    如果您没有 Kubernetes 集群,可以根据您的环境配置一个单节点集群,请参阅下一节 环境特定的先决条件

环境特定的先决条件

根据您的 Kubernetes 环境选择选项卡,并完成其中的所有先决条件。

  1. 安装 gcloud 命令行界面 (CLI) (https://cloud.google.com/sdk/docs/install)。

  2. 本指南中的所有 shell 命令都假设已使用 CLOUDSDK_CORE_PROJECTCLOUDSDK_COMPUTE_ZONECLOUDSDK_COMPUTE_REGION 环境变量设置了要使用的 GCP 项目、计算区域和地区,例如

    export CLOUDSDK_CORE_PROJECT="my-neo4j-project"
    export CLOUDSDK_COMPUTE_ZONE="europe-west2-a"
    export CLOUDSDK_COMPUTE_REGION="europe-west2"
  3. 如果您没有 Google Kubernetes Engine (GKE) 集群,可以使用以下命令创建一个单节点集群

    gcloud container clusters create my-neo4j-gke-cluster --num-nodes=1 --machine-type "e2-standard-2"

    e2-standard-2 是在 GKE 上运行本启动指南示例所需的最低实例类型。

  4. 使用以下命令配置 kubectl 以使用您的 GKE 集群

    gcloud container clusters get-credentials my-neo4j-gke-cluster
    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for my-neo4j-gke-cluster.
  1. 安装 aws 命令行界面 (CLI) (https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。确保您完成了 AWS 配置步骤 (https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)。

  2. 安装 eksctl 命令行界面 (CLI) (https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html)。

  3. 本指南中的所有 shell 命令都假设已使用 AWS_DEFAULT_REGION 环境变量设置了要使用的 AWS 区域,例如

    export AWS_DEFAULT_REGION="eu-west-1"
  4. 如果您没有 AWS Elastic Kubernetes Service (EKS) 集群,可以使用以下命令创建一个单节点集群

    此命令要求您拥有一个名为 id_rsa.pub 的公钥。如果没有,可以通过运行以下命令生成它

    ssh-keygen -t rsa -C "your-name@example.com"
    eksctl create cluster --name "my-neo4j-eks-cluster" --region "${AWS_DEFAULT_REGION}" --nodegroup-name "neo4j-nodes" --nodes-min 1 --nodes-max 2 --node-type c4.xlarge --nodes 1 --node-volume-size 10 --ssh-access --with-oidc
  5. 创建一个 IAM 角色(例如 AmazonEKS_EBS_CSI_DriverRole)并将所需的 AWS 托管策略附加到该角色(例如 AmazonEBSCSIDriverPolicy)。

    eksctl create iamserviceaccount \
      --name ebs-csi-controller-sa \
      --namespace kube-system \
      --cluster my-neo4j-eks-cluster \
      --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
      --approve \
      --role-only \
      --role-name AmazonEKS_EBS_CSI_DriverRole
  6. 将 EBS CSI 驱动程序作为 Amazon EKS 插件添加到您的集群中

    eksctl create addon \
      --name aws-ebs-csi-driver \
      --cluster my-neo4j-eks-cluster \
      --service-account-role-arn arn:aws:iam::<aws-account-id>:role/AmazonEKS_EBS_CSI_DriverRole \
      --force

    确保将 <aws-account-id> 替换为您的 AWS 账户 ID。

  7. 使用以下命令配置 kubectl 以使用您的 EKS 集群

    aws eks update-kubeconfig --name my-neo4j-eks-cluster
  1. 安装 az 命令行界面 (CLI) (https://learn.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest)。

  2. 验证您是否拥有一个资源组,并包含

    • 一个 Azure Kubernetes Service (AKS) 集群。

    • 必须为 AKS 集群主体分配角色,以允许其管理资源组中的 Microsoft.Compute/disks。

  3. 使用以下命令将资源组和位置设置为默认值

    az configure --defaults group=<MyResourceGroup>
    az configure --defaults location=<MyAzureLocation>
  4. 如果您没有 AKS 集群,请按照步骤创建一个单节点集群。

    1. 运行以下命令创建一个集群

      az aks create --name my-neo4j-aks-cluster --node-count=1
    2. 使用以下命令配置 kubectl 以使用您的 AKS 集群

      az aks get-credentials --name my-neo4j-aks-cluster --admin
  1. 安装适用于 macOS 的 Docker Desktop。有关更多信息,请参阅 Docker 官方文档

  2. 启用 Docker Desktop Kubernetes 引擎。有关更多信息,请参阅 Docker 官方文档

  3. 验证您没有运行中的 Neo4j 实例(例如通过 Neo4j Desktop 或 Neo4j Browser),以避免端口冲突。