在 EKS 上跑生产级 n8n:队列模式、密钥外置,再从社区 Chart 切到官方 Chart
单容器 + SQLite 足够演示 n8n;要扛生产流量,就需要 worker、webhook 处理器、PostgreSQL、Redis、对象存储、外部密钥、入口分流,以及能保住工作流历史的升级路径。2026年10月16日,Fairwinds 的 Husne Ozmen 在 CNCF 博客复盘了在 Amazon EKS 上部署、运维,以及从社区 Helm chart 迁到 n8n 官方 chart 的做法。[1]
准备工作
已有可操作的 Amazon EKS 集群,以及 PostgreSQL、Redis、S3(或兼容对象存储)。
需要存放加密密钥与应用密钥的 AWS Secrets Manager,并用 External Secrets Operator(ESO)同步进集群。
先读官方 / 社区 chart 文档,确认当前镜像版本;迁移当天不要顺便升 n8n 大版本,以免数据库迁移和切流缠在一起。[1]
示例 values 可参考作者公开的
github.com/husne-fairwinds/n8n-sample。[1]
做完准备后,应能:用 kubectl 访问集群;Secrets Manager 里已有加密密钥;非生产环境可做一次完整演练。
操作步骤
1、按队列模式拆角色
做什么:主实例负责工作流元数据与触发,worker 从 Redis 队列取任务执行;生产 webhook 交给独立的 webhook 处理器。入口按流量拆开——公网 webhook 走互联网负载均衡,内网 webhook 走私有主机名。[1]
为什么:演示环境把一切塞进一个进程即可;生产要把执行、触发和对外入口分开,避免 webhook 尖峰拖垮编排。
如何确认:主 Pod、worker、webhook 处理器均 Ready;用一条已知工作流跑通;公网与内网 webhook URL 各自可达。
2、状态外置,主 Pod 不靠本地盘
做什么:工作流与执行记录进 PostgreSQL,队列进 Redis,二进制文件进 S3;加密密钥与环境变量放在 Secrets Manager,经 ESO 同步为 Kubernetes Secret。作者检查后发现主 Pod 本地盘没有必须保留的状态,迁官方 chart 时可关掉 main 持久化。[1]
为什么:官方 chart 把 main 改成 Deployment + 共享 PVC 模型,而 AWS gp3(RWO)很难挂到多节点上的多个 main Pod;状态外置后,换 Pod 也能重连。
如何确认:任意杀掉 main Pod 后,工作流定义仍在;新 Pod 起来后能继续消费队列、读写对象存储。
3、社区 Chart 先撑生产,再规划切官方
做什么:作者先用社区 chart 跑了约一年(支持队列模式、额外 ingress、StatefulSet 形态的 main)。维护补丁成本升高后,对比选项,决定迁到官方 chart 以获得持续维护。[1]
为什么:社区 chart 能尽快落地;长期要以可升级、少分叉的发行版为准。
如何确认:现行 release 的 values、镜像标签、依赖中间件版本都有文档备份,再进入迁移窗口。
4、把迁移当成切流,而不是原地 helm upgrade
做什么:保留数据库、对象存储、IAM 角色与密钥;其余按新 chart values 重建。迁移前:在非生产用库快照演练并验证回滚;生产库打快照;密钥另存一份;保持 n8n 镜像版本不变。切流后只换 Helm release,PostgreSQL / Redis / S3 / IAM / secrets 留在原地。[1]
为什么:官方 chart 工作负载模型与社区版不同,原地升级容易撞上多挂载与状态假设;镜像升级触发的库迁移应单独安排。
如何确认:非生产先看到 Pod 健康、已知工作流跑完、必要 endpoint 可达且回滚可用;生产切流后抽测 webhook 与队列积压是否清零。
注意事项
多副本 main 的许可在文中被写成 Enterprise 能力,密钥共享方式要按自己的许可证与安全要求设计。[1]
公网 webhook 入口要单独看鉴权与速率限制,避免把自动化端点裸奔在公网。
本文步骤依据 Fairwinds 2026年10月16日公开复盘,集群版本与 chart 版本以你核实当日的上游文档为准。
说明:以下步骤基于 CNCF 博文与作者公开示例仓库整理,于 2026年10月27日核对链接;不同 AWS 账号与 chart 版本命令会有差异。
来源
[1] Deploying, maintaining, and migrating production n8n on EKS,Husne Ozmen(Fairwinds),CNCF Blog,2026年10月16日。
#n8n #EKS #Helm #Kubernetes #队列模式 #教程干货

成为第一条评论!
Nobody's responded to this post yet. Add your thoughts and get the conversation going.