bitnamicharts/janusgraphJanusGraph是一个可扩展图数据库,优化用于存储和查询包含数千亿顶点和边的图,分布在多机集群中。
JanusGraph概述
商标说明:本软件列表由Bitnami打包。所提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/janusgraph
如需在生产环境使用JanusGraph,可尝试VMware Tanzu Application Catalog,即Bitnami目录的商业版。
从2025年8月28日开始,Bitnami将升级其公共目录,在新的Bitnami安全镜像计划下提供精选的强化、安全聚焦镜像。作为过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提升所有Bitnami用户的安全态势。更多详情,请访问Bitnami安全镜像公告。
此chart使用Helm包管理器在Kubernetes集群上引导JanusGraph部署。
要安装版本名为my-release的chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/janusgraph
注意:需将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm chart仓库和仓库名称的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
该命令使用默认配置在Kubernetes集群上部署JanusGraph。参数部分列出了安装过程中可配置的参数。
提示:使用
helm list列出所有版本
要卸载/删除my-release部署:
consolehelm delete my-release
该命令将移除与chart关联的所有Kubernetes组件并删除版本。
强烈建议在生产环境中使用不可变标签,确保部署不会因同一标签更新为不同镜像而自动变更。
若主容器有新版本、重大变更或严重漏洞,Bitnami将发布更新chart。
通过设置metrics.enabled=true,可将此chart与Prometheus集成,在所有pod中部署带有jmx_exporter的sidecar容器和metrics服务,该服务包含自动被Prometheus抓取的必要注解。
需安装Prometheus或Prometheus Operator才能实现集成。可安装Bitnami Prometheus helm chart或Bitnami Kube Prometheus helm chart以在集群中快速部署可用的Prometheus。
此chart可部署ServiceMonitor对象以集成Prometheus Operator安装。需设置metrics.serviceMonitor.enabled=true。确保集群中已安装Prometheus Operator的CustomResourceDefinitions,否则将报错:
textno matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
安装Bitnami Kube Prometheus helm chart以获取必要的CRD和Prometheus Operator。
可配置JanusGraph连接外部存储后端(而非在集群内安装),常见原因包括使用托管数据库服务或为所有应用共享公共数据库服务器。通过storageBackend.external参数指定外部数据库凭证,并通过storageBackend.cassandra.enabled选项禁用Cassandra安装。示例如下:
consolestorageBackend.cassandra.enabled=false storageBackend.external.backend=<your_backend_type> storageBackend.external.hostname=<your_backend_host> storageBackend.external.port=<your_backend_port> #仅在需要时配置认证# storageBackend.external.username=<your_backend_username> storageBackend.external.existingSecret=<包含密码的密钥> storageBackend.external.existingSecretPasswordKey=<包含密码的密钥键名>
可配置JanusGraph连接外部索引后端。通过indexBackend.external参数指定外部索引后端凭证,示例如下:
consoleindexBackend.external.backend=<your_backend_type> indexBackend.external.hostname=<your_backend_host> indexBackend.external.port=<your_backend_port>
要在Kubernetes上备份和恢复Helm chart部署,需使用Velero(Kubernetes备份/恢复工具)备份源部署的持久卷,并将其附加到新部署。此指南提供了使用Velero的说明。
如需添加额外环境变量(用于高级操作,如自定义初始化脚本),可使用extraEnvVars属性:
yamlextraEnvVars: - name: LOG_LEVEL value: error
或者,可使用包含环境变量的ConfigMap或Secret。为此,使用extraEnvVarsCM或extraEnvVarsSecret值。
如需在JanusGraph所在pod中添加额外容器(如额外指标或日志导出器),可通过sidecars参数定义:
yamlsidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
若这些sidecar容器导出额外端口,可通过service.extraPorts参数(如可用)添加额外端口定义,示例如下:
yamlservice: extraPorts: - name: extraPort port: *** targetPort: ***
注意:此Helm chart已包含Prometheus导出器的sidecar容器(如适用)。因此,
sidecars参数仅用于添加额外sidecar容器。
可通过affinity参数设置自定义亲和性。有关Pod亲和性的更多信息,请参阅kubernetes文档。
作为替代方案,可使用bitnami/common chart提供的pod亲和性、pod反亲和性和节点亲和性预设配置。为此,设置podAffinityPreset、podAntiAffinityPreset或nodeAffinityPreset参数。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认StorageClass | "" |
global.storageClass | 已弃用:使用global.defaultStorageClass代替 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的securityContext以兼容OpenShift restricted-v2 SCC:移除runAsUser、runAsGroup和fsGroup,让平台使用允许的默认ID。可能值:auto(检测到OpenShift集群时应用)、force(始终应用)、disabled(不应用) | auto |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 覆盖Kubernetes版本 | "" |
apiVersions | 覆盖.Capabilities报告的Kubernetes API版本 | [] |
nameOverride | 部分覆盖common.names.name的字符串 | "" |
fullnameOverride | 完全覆盖common.names.fullname的字符串 | "" |
namespaceOverride | 完全覆盖common.names.namespace的字符串 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
clusterDomain | Kubernetes集群域名 | cluster.local |
extraDeploy | 随发布一起部署的额外对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(禁用所有探针并覆盖命令) | false |
diagnosticMode.command | 覆盖部署中所有容器的命令 | ["sleep"] |
diagnosticMode.args | 覆盖部署中所有容器的参数 | ["infinity"] |
storageBackend.usePasswordFiles | 将凭证挂载为文件而非环境变量 | true |
storageBackend.cassandra.enabled | 使用Apache Cassandra子chart作为存储后端 | true |
storageBackend.berkeleyje.enabled | 使用BerkeleyDB(本地)作为存储后端 | false |
storageBackend.berkeleyje.directory | BerkeleyDB数据路径 | /bitnami/janusgraph/data/storage |
storageBackend.external.backend | 外部存储后端类型 | "" |
storageBackend.external.hostname | 外部存储后端主机名 | "" |
storageBackend.external.port | 外部存储后端端口 | "" |
storageBackend.external.username | 存储后端认证用户名(如需) | "" |
storageBackend.external.existingSecret | 包含外部存储后端密码的现有密钥(如需) | "" |
storageBackend.external.existingSecretPasswordKey | 包含存储后端密码的现有密钥键名 | "" |
indexBackend.lucene.enabled | 使用Lucene(本地)作为索引管理后端 | false |
indexBackend.lucene.directory | Lucene数据路径 | /bitnami/janusgraph/data/index |
indexBackend.external.backend | 外部索引后端类型 | "" |
indexBackend.external.hostname | 外部索引后端主机名 | "" |
indexBackend.external.port | 外部索引后端端口 | "" |
cache.enabled | 启用JanusGraph缓存功能 | true |
existingConfigmap | 包含JanusGraph自定义配置的现有ConfigMap名称 | "" |
extraJanusgraphProperties | 附加到janusgraph.properties配置文件末尾的额外配置 | "" |
janusgraphProperties | 覆盖janusgraph.properties文件内容 | "" |
javaOptions | JanusGraph执行的Java选项 | "" |
image.registry | JanusGraph镜像仓库 | REGISTRY_NAME |
image.repository | JanusGraph镜像仓库路径 | REPOSITORY_NAME/janusgraph |
image.digest | JanusGraph镜像摘要(格式sha256:aa....,设置后会覆盖标签,建议使用不可变标签) |
注意:此chart的README超出DockerHub 25000字符限制,已被截断。完整README可查看[***]

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务