新闻详情

新闻详情

首页 / 资讯中心 / 详情

NocoDB 如何用 Helm Chart 在 Kubernetes 上部署并接入外部 PostgreSQL 与 Redis

发布时间:2026/9/9 21:55:14来源:尧图网络
NocoDB 如何用 Helm Chart 在 Kubernetes 上部署并接入外部 PostgreSQL 与 Redis
NocoDB 如何用 Helm Chart 在 Kubernetes 上部署并接入外部 PostgreSQL 与 Redis【免费下载链接】nocodb A Free Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodbNocoDB 仓库自带一个生产级 Helm Chartcharts/nocodb/README.md它的设计前提是把状态放在集群外PostgreSQL 和 Redis 都由外部提供Chart 只负责运行 NocoDB 应用容器和后台 worker。本文的目标是在一个已有 Kubernetes 集群上用这个 Chart 部署 NocoDB并通过 Secret 把外部 PostgreSQL 与 Redis 的连接信息接进来最后用 Chart 自带的健康检查确认部署成功。准备条件按 Helm Chart 说明 的 Prerequisites 一节开始前需要Kubernetes 1.23Helm 3.8需要 OCI 支持Chart 通过oci://仓库安装外部 PostgreSQL 和 Redis 实例附件用的 S3 兼容存储桶在部署后从 NocoDB 管理面板里配置一个 Ingress 控制器可选配 cert-manager用于外部访问Chart 当前版本为 1.0.0appVersion 2026.06.1见 Chart.yaml。默认replicaCount为 2、worker 启用且副本数为 2也就是说默认部署方式本身就要求配置 Redis否则安装时会校验失败下文有具体报错。方式一预先创建 Secret 并引用生产推荐路径Chart 要求连接信息通过 Secret 注入。README 的 Secret key contract 约定创建一个Secret然后让*.existingSecret都指向它Key用途文档示例值DATABASE_URLPostgres 连接串postgresql://user:passhost:5432/nocodb?sslmoderequireNC_REDIS_URLRedis 连接串rediss://:passhost:6379NC_AUTH_JWT_SECRETJWT 密钥可选留空时自动生成随机 ≥32 字符NC_CONNECTION_ENCRYPT_KEY数据源加密密钥可选自动生成不可轮换随机 ≥32 字符后两个 key 是可选项auth.existingSecret留空时Chart 会在自己管理的 Secret 里自动生成这两个值并在升级时复用见 Secret 模板 与 参数校验逻辑。因此最小配置只需要DATABASE_URL和NC_REDIS_URL两个 key。把下面命令中postgresql://...和rediss://...替换为你自己的真实连接串格式对照上表的文档示例值kubectl -n nocodb create secret generic nocodb-secrets \ --from-literalDATABASE_URLpostgresql://你的用户:你的密码Postgres主机:5432/nocodb?sslmoderequire \ --from-literalNC_REDIS_URLrediss://:你的Redis密码Redis主机:6379然后执行 README TL;DR 给出的安装命令helm install nocodb oci://ghcr.io/nocodb/charts/nocodb --version 1.0.0 \ --set externalDatabase.existingSecretnocodb-secrets \ --set externalRedis.existingSecretnocodb-secretsexistingSecretUrlKey默认为DATABASE_URL和NC_REDIS_URL与上面的 Secret key 一一对应如果 Secret 里的 key 名不同需要分别设置externalDatabase.existingSecretUrlKey/externalRedis.existingSecretUrlKey默认参数中有说明。方式二内联填写连接字段评估环境用不想预先建 Secret 时也可以直接把字段传给 Chart它会拼装出完整 URL 并自行创建 Secret。README 明确标注password类字段是 eval only; use existingSecret in prod所以这条路径只适合评估helm install nocodb oci://ghcr.io/nocodb/charts/nocodb --version 1.0.0 \ --set externalDatabase.hostPostgres主机 \ --set externalDatabase.databasenocodb \ --set externalDatabase.usernamenocodb \ --set externalDatabase.password你的密码 \ --set externalDatabase.sslModeprefer \ --set externalRedis.hostRedis主机 \ --set externalRedis.password你的Redis密码拼装规则见 helpersPostgres 按postgresql://user:passhost:port/database?sslmodesslMode组装Redis 默认redis://方案设置externalRedis.tlstrue时改用rediss://。externalDatabase各项默认值为port: 5432、database: nocodb、username: nocodb、sslMode: preferexternalRedis默认port: 6379。可选开启 Ingress 对外访问默认service.type是ClusterIP端口 8080ingress.enabled默认false。如果集群里有 Ingress 控制器安装时加上--set ingress.enabledtrue \ --set ingress.hosts[0].hostnocodb.example.com \ --set ingress.tls[0].hosts[0].hostnocodb.example.com \ --set ingress.tls[0].secretName你的TLS证书Secret其中nocodb.example.com需要换成你自己解析到集群入口的域名。注意一个联动行为nocodb.publicUrl留空且配置了 TLS 时NC_SITE_URL会自动取第一个 ingress host 推导见 ConfigMap 模板所以不必额外设置。cert-manager 的 cluster-issuer 注解通过ingress.annotations传入。验证部署结果安装完成后Helm 会输出 NOTES 提示模板见 NOTES.txt其中包含访问方式和健康检查命令。按提示执行健康检查以 release 名nocodb、默认命名空间为例ns替换为你的实际命名空间kubectl -n ns exec deploy/nocodb -- wget -qO- http://localhost:8080/api/v1/health应用的 liveness/readiness/startup 探针都指向同一个/api/v1/health端点App 部署模板因此该命令有响应即说明应用已启动。没有 Ingress 时NOTES 给出的本地访问方式是kubectl -n ns port-forward svc/nocodb 8080:8080 # 然后打开 http://localhost:8080多副本部署的两个硬性约束1. 多副本 / worker 必须配置 Redis否则安装即失败。校验逻辑在replicaCount 1、worker.enabledtrue或autoscaling.enabledtrue且 Redis 未配置时直接 fail报错原文NocoDB requires Redis for multi-replica or worker deployments. Set externalRedis.host (or externalRedis.existingSecret), or set replicaCount1, autoscaling.enabledfalse, and worker.enabledfalse.如果只想先跑单副本、还没有 Redis按报错提示的三个开关把部署降级为单副本replicaCount1, autoscaling.enabledfalse, worker.enabledfalse。此时 NOTES 会输出文档中的警告WARNING: Redis is not configured. This deployment is limited to a single replica.2. 多副本部署下附件需要 S3 存储。NOTES 同时提示未配置对象存储前附件写入各 Pod 的本地存储/usr/app/data默认 emptyDirwill NOT be consistent across replicas。解决方法是安装后在 NocoDB 管理面板的 App Store Storage 里配置 S3 兼容存储这是文档明确给出的操作路径Chart 本身不替你配置。若坚持用本地存储可启用persistence.enabledtrue把 PVC 挂到/usr/app/data默认 10Gi、ReadWriteOnce见 values.yaml但该模式与多副本的一致性限制仍由读者自行权衡。资源规格默认 app 与 worker 的 requests 均为cpu: 1, memory: 2GiREADME 建议 2Gi 内存、最低 1Gi。节点资源紧张时在--set resources.requests.memory1Gi、--set worker.resources.requests.memory1Gi处下调即可。参考Chart 完整参数表与安装命令charts/nocodb/README.md默认参数及各项注释charts/nocodb/values.yamlCI 中仅外部依赖的 values 写法existingSecret同时指向 DB/Redis/authcharts/nocodb/ci/external-only-values.yaml【免费下载链接】nocodb A Free Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

C语言复合字面量完全指南:C99语法、存储期与悬垂指针陷阱 2026/9/9 22:37:27

C语言复合字面量完全指南:C99语法、存储期与悬垂指针陷阱

说实话,我第一次在别人代码里见到 (struct point){ .x 10, .y 20 } 这种写法时,第一反应是“这玩意是什么?C语言什么时候能这样写了?”查了标准才发现,这是 C99 引入的复合字面量(compound literal&…

阅读更多 →
战地医疗AI系统测试实战:从环境模拟到失效安全设计的关键经验 2026/9/9 22:37:27

战地医疗AI系统测试实战:从环境模拟到失效安全设计的关键经验

炸现场里急救帐篷的灯光通常不够亮,而且总在晃。我盯着屏幕上那个分割模型的输出,血泊里一块弯折的金属碎片被识别成了“骨折断端”。这个错误如果发生在常规诊断场景,顶多是让医生多看一眼CT,问题不大;但如果发生在这…

阅读更多 →
代码覆盖率提升实战:从统计口径到门禁落地 2026/9/9 22:37:27

代码覆盖率提升实战:从统计口径到门禁落地

代码覆盖率这事,圈子里一直有个争论:有人觉得它是衡量测试质量的黄金指标,有人觉得它就是个自欺欺人的数字游戏。我做了这么多年开发和测试基建,两个极端都见过。有一种团队,覆盖率定在80%,大家天天为了补用…

阅读更多 →
No module named ‘utils‘报错别急着pip install,先查这三点 2026/9/9 22:37:27

No module named ‘utils‘报错别急着pip install,先查这三点

一看到 No module named utils,先别急着 pip install老实说,这大概是 Python 社区里被问得最多、又最容易被“误诊”的报错之一。报错文本只有一行:ModuleNotFoundError: No module named utils,但真正的问题往往不是“缺一个叫 u…

阅读更多 →
从最优控制到轨迹规划:倒立摆上翻与车辆路径规划实践 2026/9/9 22:37:27

从最优控制到轨迹规划:倒立摆上翻与车辆路径规划实践

最优控制、轨迹规划、倒立摆上翻控制、车辆运动学约束路径规划、离散点参数化——这些东西很多人是分开学的,但实际做项目时会发现它们全串在一条线上:规划层算出一条可执行路径,控制层负责把它跑出来,中间还夹着一堆离散点怎么变…

阅读更多 →
从冒泡到哈希:排序与查找算法实战全解析 2026/9/9 22:34:26

从冒泡到哈希:排序与查找算法实战全解析

排序和查找算法,是所有写代码的人绕不开的两座山。从大学期末考到社招技术面,从给Excel里的IP地址排个序到在上亿条日志里定位一条记录,背后翻来覆去就是这么几个经典套路。我从2013年开始正经写项目,到现在手写过冒泡排序、快速排…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞