在亚马逊云服务上部署n8n#
本部署指南将展示如何使用亚马逊云服务(AWS)自托管n8n。方案采用Kubernetes管理必要资源和反向代理,并使用Postgres作为n8n的数据库后端。
部署选项#
AWS提供多种适用于部署n8n的方式,包括EC2(虚拟机)和EKS(基于Kubernetes的容器)。
本指南选用EKS作为部署方案。虽然使用Kubernetes会带来额外的复杂性和配置要求,但这是根据 需求变化扩展n8n的最佳方法。
前置要求#
本指南中的步骤将混合使用AWS管理控制台和EKS专用eksctl命令行工具。
虽然eksctl文档未明确提及,但您仍需安装AWS CLI工具并完成工具的身份验证配置。
自托管技术基础要求
自托管n8n需要具备以下技术知识:
- 服务器与容器的设置配置
- 应用资源管理与扩缩容
- 服务器与应用安全防护
- n8n配置管理
n8n建议仅由专业用户进行自托管操作。配置失误可能导致数据丢失、安全隐患及服务中断。若缺乏服务器管理经验,推荐使用n8n云托管服务。
最新版与预览版说明
n8n每周会发布新的次要版本。latest版本适用于生产环境,next则是最新发布的预览版本。请将next视作测试版本:可能存在不稳定情况。问题反馈请使用官方论坛。
当前latest版本:1.119.2
当前next版本:1.119.3
创 建集群#
使用eksctl工具创建集群,通过以下命令指定集群名称和区域:
eksctl create cluster --name n8n --region <your-aws-region>
创建集群可能需要一些时间。
集群创建完成后,eksctl 会自动将 kubectl 上下文切换至该集群。
克隆配置仓库#
Kubernetes 和 n8n 需要一系列配置文件。您可以从该代码库中克隆这些文件。以下步骤将说明每个文件的作用以及需要修改的配置项。
使用以下命令克隆代码库:
git clone https://github.com/n8n-io/n8n-hosting.git
并更改目录:
cd n8n-hosting/kubernetes
配置 Postgres#
对于大规模 n8n 部署,Postgres 提供了比 SQLite 更强大的数据库后端。