neo4j安装
在下面的视频中,我将解释如何对在托管Kubernetes环境中运行的Neo4J实例进行完整和增量备份。 我们将使用其他Pod进行远程备份,并将备份数据存储在托管环境提供的持久卷上。
如果您想知道如何将Neo4J部署到托管Kubernetes,请查看以前的文章,这些文章显示了集群和单核实例的示例。
自己尝试
您可以在以下GitHub存储库中找到Kubernetes资源。
cd /tmp/
git clone https: //github.com/sdaschner/neo4j-tools
cd neo4j-tools/
首先,我们创建持久性卷,以后将在其上存储备份:
kubectl apply -f backup/neo4j-backup-pvc.yaml
这将为我们的备份卷创建一个卷声明,该备份卷是由我们的存储提供商创建的。 片刻之后,我们应该有一个额外的持久卷:
kubectl get pvc
NAME STATUS VOLUME STORAGECLASS AGE
backupdir-graphdb-neo4j-core- 0 Bound pvc-072c4f08-[...] ibmc-file-gold 2m20s
[...]
现在,我们可以创建备份容器,该容器可以远程连接到Neo4J实例(在我的示例中为core-0
实例)以进行完整备份。
kubectl apply -f backup/neo4j-backup.yaml
kubectl get pods
NAME READY STATUS RESTARTS AGE
neo4j-backup 0 / 1 Completed 0 23s
如果我们查看pods日志输出,我们将看到它对Neo4J实例进行了完整备份,类似于视频中所示。 该广告连播绑定了我们的backupdir-
卷。
现在,如果我们从相同的YAML描述中删除完成的pod并创建一个新的pod,我们将看到它只会进行增量备份,因为它将绑定相同的持久卷并注意到现有的备份。
kubectl delete pod neo4j-backup
kubectl apply -f backup/neo4j-backup.yaml
pod日志输出将显示现在仅进行了增量备份。
对于创建这些备份Pod的托管方式而言,可以使用以下Kubernetes作业来创建Pod,类似于Kubernetes副本集管理其Pod的方式。
kubectl apply -f backup/neo4j-backup-job.yaml
kubectl get pods
NAME READY STATUS RESTARTS AGE
neo4j-backup-5ljhj 0 / 1 Completed 0 23s
翻译自: https://www.javacodegeeks.com/2020/06/how-to-backup-neo4j-on-managed-kubernetes.html
neo4j安装