Hướng dẫn Cài đặt n8n trên Google Cloud | Tài liệu n8n
Lưu trữ n8n trên Google Cloud#
Hướng dẫn lưu trữ này sẽ hướng dẫn bạn cách tự lưu trữ n8n trên Google Cloud (GCP). Nó sử dụng n8n với Postgres làm cơ sở dữ liệu backend, sử dụng Kubernetes để quản lý các tài nguyên cần thiết và reverse proxy.
Điều kiện tiên quyết#
- Công cụ dòng lệnh gcloud
- gke-gcloud-auth-plugin (trước tiên hãy cài đặt gcloud CLI)
Điều kiện tiên quyết về kiến thức tự lưu trữ
Tự lưu trữ n8n đòi hỏi kiến thức kỹ thuật, bao gồm:
- Thiết lập và cấu hình máy chủ và container
- Quản lý tài nguyên ứng dụng và khả năng mở rộng
- Bảo mật máy chủ và ứng dụng
- Cấu hình n8n
n8n khuyến nghị tự lưu trữ cho người dùng chuyên gia. Các lỗi có thể dẫn đến mất dữ liệu, các vấn đề bảo mật và thời gian chết. Nếu bạn không có kinh nghiệm quản lý máy chủ, n8n khuyến nghị n8n Cloud.
Các phiên bản mới nhất và tiếp theo
n8n phát hành một phiên bản nhỏ mới hầu hết các tuần. Phiên bản latest
dành cho sử dụng sản xuất. next
là bản phát hành gần đây nhất. Bạn nên coi next
như một bản beta: nó có thể không ổn định. Để báo cáo sự cố, hãy sử dụng diễn đàn.
latest
hiện tại: 1.76.1
next
hiện tại: 1.77.0
Các tùy chọn lưu trữ#
Google Cloud cung cấp một số tùy chọn phù hợp để lưu trữ n8n, bao gồm Cloud Run (tối ưu hóa cho việc chạy các container), Compute Engine (VM) và Kubernetes Engine (các container chạy với Kubernetes).
Hướng dẫn này sử dụng Google Kubernetes Engine (GKE) làm tùy chọn lưu trữ. Việc sử dụng Kubernetes đòi hỏi một số cấu hình và độ phức tạp bổ sung, nhưng đây là phương pháp tốt nhất để mở rộng n8n khi nhu cầu thay đổi.
Hầu hết các bước trong hướng dẫn này sử dụng Google Cloud UI, nhưng bạn cũng có thể sử dụng công cụ dòng lệnh gcloud để thực hiện tất cả các bước.
Tạo dự án#
GCP khuyến khích bạn tạo các dự án để tổ chức hợp lý tài nguyên và cấu hình. Tạo một dự án mới cho việc triển khai n8n của bạn từ Google Cloud Console: chọn menu thả xuống dự án và sau đó nút DỰ ÁN MỚI. Sau đó chọn dự án mới tạo. Khi bạn thực hiện theo các bước khác trong hướng dẫn này, hãy đảm bảo bạn đã chọn đúng dự án.
Bật Kubernetes Engine API#
GKE không được bật theo mặc định. Tìm kiếm “Kubernetes” trong thanh tìm kiếm trên cùng và chọn “Kubernetes Engine” từ kết quả.
Chọn BẬT để bật Kubernetes Engine API cho dự án này.
Tạo một cluster#
Từ trang dịch vụ GKE, chọn Clusters > TẠO. Đảm bảo bạn chọn tùy chọn cluster “Standard”, n8n không hoạt động với cluster “Autopilot”. Bạn có thể để cấu hình cluster ở mặc định trừ khi có điều gì đó cụ thể bạn cần thay đổi, chẳng hạn như vị trí.
Đặt ngữ cảnh Kubectl#
Các bước còn lại trong hướng dẫn này yêu cầu bạn đặt phiên bản GCP làm ngữ cảnh Kubectl. Bạn có thể tìm thấy thông tin chi tiết kết nối cho một phiên bản cluster bằng cách mở trang chi tiết của nó và chọn KẾT NỐI. Đoạn mã hiển thị cho thấy một chuỗi kết nối cho công cụ gcloud CLI. Dán và chạy đoạn mã trong gcloud CLI để thay đổi cài đặt Kubernetes cục bộ của bạn để sử dụng cluster gcloud mới.
Sao chép kho cấu hình#
Kubernetes và n8n yêu cầu một loạt các tệp cấu hình. Bạn có thể sao chép chúng từ kho lưu trữ này cục bộ. Các bước sau giải thích cấu hình tệp và cách thêm thông tin của bạn.
Sao chép kho lưu trữ bằng lệnh sau:
|
Và thay đổi thư mục đến gốc của kho lưu trữ bạn đã sao chép:
|
Cấu hình Postgres#
Đối với các triển khai n8n quy mô lớn hơn, Postgres cung cấp một cơ sở dữ liệu backend mạnh mẽ hơn SQLite.
Tạo một volume cho lưu trữ liên tục#
Để duy trì dữ liệu giữa các lần khởi động lại pod, việc triển khai Postgres cần một persistent volume. Chạy Postgres trên GCP yêu cầu một Storage Class Kubernetes cụ thể. Bạn có thể đọc hướng dẫn này để biết chi tiết cụ thể, nhưng manifest storage.yaml
sẽ tạo nó cho bạn. Bạn có thể muốn thay đổi các vùng để tạo bộ lưu trữ trong khóa allowedTopologies
> matchedLabelExpressions
> values
. Theo mặc định, chúng được đặt thành us-central
.
|
Các biến môi trường Postgres#
Postgres cần một số biến môi trường được đặt để chuyển đến ứng dụng đang chạy trong các container.
Tệp postgres-secret.yaml
mẫu chứa các trình giữ chỗ bạn cần thay thế bằng các giá trị của riêng mình. Postgres sẽ sử dụng các chi tiết này khi tạo cơ sở dữ liệu.
Manifest postgres-deployment.yaml
sau đó sử dụng các giá trị từ tệp manifest này để gửi đến các pod ứng dụng.
Cấu hình n8n#
Tạo một volume cho lưu trữ tệp#
Mặc dù không cần thiết để chạy n8n, nhưng việc sử dụng persistent volume là bắt buộc đối với:
- Sử dụng các node tương tác với tệp, chẳng hạn như node dữ liệu nhị phân.
- Nếu bạn muốn duy trì các khóa mã hóa n8n thủ công giữa các lần khởi động lại. Điều này lưu một tệp chứa khóa vào bộ nhớ tệp trong quá trình khởi động.
Manifest n8n-claim0-persistentvolumeclaim.yaml
tạo ra điều này và n8n Deployment gắn claim đó trong phần volumes
của manifest n8n-deployment.yaml
.
|
Tài nguyên Pod#
Kubernetes cho phép bạn tùy chọn chỉ định các tài nguyên tối thiểu mà các container ứng dụng cần và các giới hạn mà chúng có thể chạy. Các tệp YAML mẫu được sao chép ở trên chứa các thông tin sau trong phần resources
của tệp n8n-deployment.yaml
và postgres-deployment.yaml
:
|
Điều này xác định mức tối thiểu 250mb cho mỗi container, tối đa 500mb và cho phép Kubernetes xử lý CPU. Bạn có thể thay đổi các giá trị này để phù hợp với nhu cầu của riêng bạn. Để làm hướng dẫn, đây là các giá trị tài nguyên cho các gói dịch vụ n8n cloud:
- Start: 320mb RAM, 10 millicore CPU có thể burstable
- Pro (10k executions): 640mb RAM, 20 millicore CPU có thể burstable
- Pro (50k executions): 1280mb RAM, 80 millicore CPU có thể burstable
Tùy chọn: Các biến môi trường#
Bạn có thể định cấu hình cài đặt và hành vi n8n bằng cách sử dụng các biến môi trường.
Tạo một tệp n8n-secret.yaml
. Tham khảo Các biến môi trường để biết chi tiết về các biến môi trường n8n.
Triển khai#
Hai manifest triển khai (n8n-deployment.yaml
và postgres-deployment.yaml
) xác định các ứng dụng n8n và Postgres cho Kubernetes.
Các manifest xác định những điều sau:
- Gửi các biến môi trường được xác định đến mỗi pod ứng dụng
- Xác định image container để sử dụng
- Đặt giới hạn tiêu thụ tài nguyên với đối tượng
resources
volumes
được xác định trước đó vàvolumeMounts
để xác định đường dẫn trong container để mount volume.- Chính sách mở rộng và khởi động lại. Các manifest ví dụ xác định một phiên bản của mỗi pod. Bạn nên thay đổi điều này để đáp ứng nhu cầu của mình.
Dịch vụ#
Hai manifest dịch vụ (postgres-service.yaml
và n8n-service.yaml
) hiển thị các dịch vụ ra thế giới bên ngoài bằng cách sử dụng bộ cân bằng tải Kubernetes bằng các cổng 5432 và 5678 tương ứng.
Gửi đến cluster Kubernetes#
Gửi tất cả các manifest đến cluster bằng lệnh sau:
Lỗi Namespace
Bạn có thể thấy thông báo lỗi về việc không tìm thấy namespace “n8n” vì tài nguyên đó chưa sẵn sàng. Bạn có thể chạy lại lệnh tương tự hoặc áp dụng manifest namespace trước bằng lệnh sau:
|
Thiết lập DNS#
n8n thường hoạt động trên một subdomain. Tạo một bản ghi DNS với nhà cung cấp của bạn cho subdomain và trỏ nó đến địa chỉ IP của dịch vụ n8n. Tìm địa chỉ IP của dịch vụ n8n từ mục menu Dịch vụ & Ingress của cluster bạn muốn sử dụng trong cột Điểm cuối.
GKE và địa chỉ IP
Đọc hướng dẫn GKE này để biết thêm chi tiết về cách địa chỉ IP được đặt trước hoạt động với các tài nguyên GKE và Kubernetes.
Xóa tài nguyên#
Xóa các tài nguyên được tạo bởi các manifest bằng lệnh sau:
Các bước tiếp theo#
- Tìm hiểu thêm về cấu hình và mở rộng n8n.
- Hoặc khám phá việc sử dụng n8n: hãy thử Bắt đầu nhanh.
Bạn có thấy hữu ích không? Hãy cho chúng tôi +1 nhé
Đăng ký nhận bản tin từ Website TXL
Tìm kiếm tức thì các thông tin tại website: tranxuanloc.com
Mẹo tìm kiếm: "Từ khóa cần tìm kiếm" site:tranxuanloc.com để tìm được kết quả chính xác trên công cụ tìm kiếm của googleGỢI Ý: Khóa học sales OTAOTA là gìđăng ký kênh OTAEmail theo tên miềnCRMWP Content Crawlerchuyển VPSACF