工具
如何在 Kubernetes 中结合使用 Neo4j 工具
Neo4j 浏览器
为了使用 Neo4j 浏览器,您必须按照 外部公开说明 进行操作,这些说明将引导您完成如何使您的集群在互联网上可用。 |
Neo4j 浏览器可在上述任何主机名的 7474 端口上使用。但是,由于集群所在的网络环境,neo4j 集群中的主机使用私有内部 DNS 进行自我宣传,该 DNS 在集群外部无法解析。
此外,为了使用安全通信,建议配置 HTTPS 和 SSL 证书。
Cypher Shell
部署 helm 图表后,您将获得一个可用于连接到集群的命令。这将安排一个名为“cypher-shell”的新 Neo4j pod 运行,并调用该命令进行连接。请参阅 NOTES.txt 以了解示例。
一旦您拥有基本的 bolt 客户端和 cypher shell 功能,请参阅有关其他许多可用选项的标准 Neo4j 文档。
Neo4j-Admin 导入
Matt Cockayne 发布了以下博客文章,介绍了如何使用 kubernetes initContainers 运行 neo4j-admin import
并 从 CSV 预加载图像中的数据,而不是备份集。
更一般地说,他使用的技术是所有其他 Neo4j shell 实用程序推荐的技术。建议您在 initContainer 中运行 shell 脚本,而不是构建自定义 Docker 镜像,以在 Neo4j 的容器启动之前执行必要的 shell 操作来准备数据卷。
插件
Neo4j Docker 容器可以接受一个额外的环境变量 NEO4JLABS_PLUGINS,它会预安装最常用的插件。helm 图表反过来有一个参数插件,允许您指定此值。
该值必须是插件名称的有效 JSON 数组。 可以在此处找到有效名称列表,但包括 APOC、图数据科学、Neo4j Streams(Kafka 集成)等。
此机制的工作原理是每个插件都会发布一个 versions.json 文件,允许 Neo4j Docker 容器在运行时确定要下载哪个版本的插件 JAR 并将其放在适当的位置。
这种插件方法需要您的容器能够下载文件,这需要外部互联网访问权限。如果您在锁定网络环境中,应指定 plugins: [] 并使用 initContainer 方法手动安装 APOC。 |
APOC
从 Neo4j 4.1 开始,APOC 过程(APOC 核心)的子集包含在所有 Neo4j 发行版中,位于默认情况下未启用的特殊目录中。这在“APOC 核心”和“APOC 全部”(所有过程和函数)之间创建了分离。
默认情况下包括 APOC 全部;要禁用 APOC,请将 plugins 参数设置为空数组 []
。通过将其他插件名称添加到下面显示的默认值,您可以使用多个插件。
plugins: "[\"apoc\"]"
如果您只想使用 APOC 核心,请将 plugins
参数设置为空数组,以不自动安装 APOC 全部,并使用 initContainer 或其他方法将提供的 APOC 核心库移动到 plugins 文件夹以启用它。
注意使用正确的语法和转义:YAML 可以解释 JSON,我们的目标是指定一个 JSON 字符串。 |
部署场景文件夹中提供了一个示例配置,显示了使用 Neo4j 的图数据科学插件安装独立实例。
其他/自定义插件仍然需要使用 initContainers 在运行时下载并安装插件。