先决条件
在 Kubernetes 上部署 Neo4j 独立实例之前,您需要
通用先决条件
-
如果您想安装 Neo4j 企业版,请获取有效许可证;或者,如果您想接受 Neo4j 评估许可证,请将配置参数
edition: "enterprise"
设置为"eval"
。Neo4j 社区版(独立图表的默认设置)不需要许可证。
有关如何获取商业许可证的更多信息,请参阅 https://neo4j.ac.cn/licensing/ 和 link:https://neo4j.ac.cn/terms/licensing/,或使用表格 联系 Neo4j。 -
安装 Kubernetes 客户端命令行工具
kubectl
(https://kubernetes.ac.cn/docs/tasks/tools/)。 -
设置一个 Kubernetes 集群,为您的 Neo4j 部署提供足够的 CPU 和内存。
本指南适用于为每个 Neo4j 实例分配最少 CPU 和内存的情况。然而,Neo4j 的系统要求很大程度上取决于软件的使用情况。因此,要在开发或生产环境中运行 Neo4j,请参阅 系统要求。
如果您没有 Kubernetes 集群,可以根据您的环境配置一个单节点集群,请参阅下一节 环境特定先决条件。
环境特定先决条件
根据您的 Kubernetes 环境选择选项卡并完成所有先决条件。
-
安装
gcloud
命令行界面 (CLI) (https://cloud.google.com/sdk/docs/install)。 -
本指南中的所有 shell 命令都假设已使用
CLOUDSDK_CORE_PROJECT
、CLOUDSDK_COMPUTE_ZONE
和CLOUDSDK_COMPUTE_REGION
环境变量设置要使用的 GCP 项目、计算区域和地理区域,例如export CLOUDSDK_CORE_PROJECT="my-neo4j-project" export CLOUDSDK_COMPUTE_ZONE="europe-west2-a" export CLOUDSDK_COMPUTE_REGION="europe-west2"
-
如果您没有 Google Kubernetes Engine (GKE) 集群,可以使用以下命令创建一个单节点集群
gcloud container clusters create my-neo4j-gke-cluster --num-nodes=1 --machine-type "e2-standard-2"
e2-standard-2 是在 GKE 上运行本入门指南示例所需的最低实例类型。
-
使用以下命令配置
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.
-
安装
aws
命令行界面 (CLI) (https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)。请务必完成 AWS 配置步骤 (https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)。 -
安装
eksctl
命令行界面 (CLI) (https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html)。 -
本指南中的所有 shell 命令都假设已使用
AWS_DEFAULT_REGION
环境变量设置要使用的 AWS 区域,例如export AWS_DEFAULT_REGION="eu-west-1"
-
如果您没有 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
-
创建一个 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
-
将 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。 -
使用以下命令配置
kubectl
以使用您的 EKS 集群aws eks update-kubeconfig --name my-neo4j-eks-cluster
-
安装
az
命令行界面 (CLI) (https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)。 -
验证您拥有一个包含以下内容的资源组
-
Azure Kubernetes Service (AKS) 集群。
-
AKS 集群主体需要被分配允许其在资源组中管理 Microsoft.Compute/disks 的角色。
-
-
使用以下命令将资源组和要使用的位置设置为默认值
az configure --defaults group=<MyResourceGroup> az configure --defaults location=<MyAzureLocation>
-
如果您没有 AKS 集群,请按照步骤创建一个单节点集群。
-
通过运行以下命令创建集群
az aks create --name my-neo4j-aks-cluster --node-count=1
-
使用以下命令配置
kubectl
以使用您的 AKS 集群az aks get-credentials --name my-neo4j-aks-cluster --admin
-
-
安装适用于 macOS 的 Docker Desktop。欲了解更多信息,请参阅 Docker 官方文档。
-
启用 Docker Desktop Kubernetes 引擎。欲了解更多信息,请参阅 Docker 官方文档。
-
验证您没有运行中的 Neo4j 实例(例如,通过 Neo4j Desktop 或 Neo4j Browser),以避免端口冲突。