Thursday , 4 June 2026

Cài Đặt APISIX Cluster HA Trên Linux Đơn Giản Với HAProxy + Keepalived

Bài viết hướng dẫn cài đặt APISIX cluster HA trên Linux với 2 node Rocky Linux 8, sử dụng etcd cluster để lưu config chung, HAProxy làm load balancer và Keepalived tạo VIP — đảm bảo khi một node down, node còn lại tự động tiếp quản mà không cần can thiệp thủ công.

cài đặt APISIX cluster HA trên Linux

Kiến Trúc Cụm APISIX Cluster HA

Môi trường lab sử dụng 2 VM:

  • master1: 192.168.218.132
  • master2: 192.168.218.134
  • VIP: 192.168.218.200 (do Keepalived quản lý)

Mỗi node chạy đầy đủ: etcd + APISIX + HAProxy + Keepalived. Người dùng chỉ truy cập qua VIP — khi master1 down, Keepalived tự chuyển VIP sang master2.


Bước 1: Chuẩn Bị Môi Trường (Chạy Trên Cả 2 Node)

Thêm vào /etc/hosts trên cả hai node:

Set hostname:


Bước 2: Cài Đặt APISIX Cluster HA — Phần etcd

etcd là thành phần lưu toàn bộ config của APISIX, phải cài trước. APISIX yêu cầu etcd tối thiểu v3.4.0.

Cài Binary etcd

Cấu Hình etcd Trên master1

Tạo file /etc/etcd/etcd.conf.yml trên master1:

Cấu Hình etcd Trên master2

Tạo Systemd Service Cho etcd

File /etc/systemd/system/etcd.service (giống nhau trên cả 2 node):

Kiểm Tra etcd Cluster

Output trả về is healthy cho cả 2 endpoint là thành công.


Bước 3: Cài Đặt Apache APISIX (Chạy Trên Cả 2 Node)

Cài thêm APISIX Dashboard:

Cấu Hình APISIX

File /usr/local/apisix/conf/config.yaml — cấu hình giống nhau trên cả 2 node, trỏ vào cả 2 endpoint etcd:

Lưu ý: thay your-admin-api-key bằng key thực tế, không dùng key mặc định trên môi trường production.


Bước 4: Cấu Hình HAProxy

File /etc/haproxy/haproxy.cfg — cấu hình giống nhau trên cả 2 node:


Bước 5: Cấu Hình Keepalived (VIP Failover)

Keepalived tạo VIP 192.168.218.200 và tự chuyển giữa 2 node khi có sự cố. Cấu hình khác nhau giữa 2 node ở 2 điểm: statepriority.

Trên master1 — /etc/keepalived/keepalived.conf

Trên master2 — /etc/keepalived/keepalived.conf

Lưu ý: tên interface (ens160) có thể khác tùy VM. Kiểm tra bằng lệnh ip a trước khi điền vào config. Bài gốc dùng eth0 cho master2 — cần đảm bảo tên interface nhất quán trên cả 2 node.

Bước 6: Kiểm Tra Hoạt Động

Kiểm Tra VIP

VIP phải xuất hiện trên master1 (node MASTER). master2 sẽ không có VIP ở trạng thái bình thường.

Test Truy Cập Qua VIP

Test Failover

Sau khi dừng Keepalived trên master1, VIP tự động chuyển sang master2 trong vòng vài giây — request vào VIP vẫn được phục vụ bình thường.


Tổng Kết

Với stack etcd + APISIX + HAProxy + Keepalived, việc cài đặt APISIX cluster HA trên Linux cho phép hệ thống API Gateway chịu được sự cố một node mà không cần downtime. Đây là kiến trúc phù hợp cho môi trường staging hoặc production nhỏ đến trung bình với yêu cầu high availability cơ bản.

Nếu cần mở rộng lên 3 node etcd (khuyến nghị cho production thực tế vì etcd hoạt động tốt hơn với số node lẻ), tham khảo thêm tài liệu chính thức tại apisix.apache.org.

Xem thêm các bài viết về hệ thống tại tungle.blog và chuyên mục Hệ thống, hoặc bài liên quan về cấu hình API Gateway.

Bạn đang dùng API Gateway nào trong hệ thống? APISIX, Kong hay Nginx? Để lại bình luận bên dưới.

About Tung Le

Cài win 10000 lần

Check Also

cau_hinh_ulimit_linux_docker_k8s

Cấu Hình ulimit Linux Cho Docker Và Kubernetes trong 5 phút

Cấu hình ulimit Linux là bước thường bị bỏ qua sau khi cài OS mới …

Leave a Reply