- Published on
Lưu ý triển khai RKE2 High Availability (HA)
- Authors
- Name
- Bạch Đăng Tuấn
- Occupation
- Kỹ sư công nghệ thông tin
- Zalo: 0934.01.07.04
🔐 Triển khai RKE2 có tính khả dụng cao (High Availability)
📑 Mục Lục
- Yêu cầu về Hardware cho RKE2
- Thành phần của cụm RKE2 HA
- Quorum của etcd
- Địa chỉ endpoint cố định
- Các bước triển khai cụm RKE2 HA
- Cấu hình mạng và port cần lưu ý
- Tóm tắt
Yêu cầu về Hardware cho RKE2 HA
RKE2 hỗ trợ triển khai cụm Kubernetes với kiến trúc High Availability (HA), đảm bảo độ ổn định và khả năng chịu lỗi khi chạy trong môi trường production.Thành phần của cụm RKE2 HA
Một cụm RKE2 HA bao gồm:
- Một địa chỉ IP hoặc điểm cuối cố định phía trước các node control-plane để các node khác có thể đăng ký.
- Tối thiểu ba node máy chủ (số lượng lẻ) để chạy etcd, Kubernetes API, và các thành phần control-plane.
- 0 hoặc nhiều agent node để chạy workload, ứng dụng và dịch vụ của bạn.
Quorum của etcd
Để đảm bảo tính sẵn sàng và dữ liệu nhất quán, RKE2 sử dụng embedded etcd. Quorum của etcd yêu cầu số lượng node máy chủ là số lẻ.
✅ Quorum được tính theo công thức:
(n / 2) + 1
vớin
là số node máy chủ.
Lưu ý quan trọng:
- Khi cụm có số node là số lẻ, việc thêm 1 node sẽ làm tăng số node cần thiết để đạt được quorum.
- Khả năng chịu lỗi không tăng thêm khi bạn thêm node chẵn vào một cụm lẻ — thay vào đó, độ ổn định có thể giảm do quorum yêu cầu cao hơn.
Địa chỉ endpoint cố định
Các node agent và server bổ sung cần một điểm cố định để đăng ký với cụm. Endpoint này có thể là:
- IP cố định (static IP)
- Virtual IP (VIP) thông qua công cụ như
keepalived
- DNS Round Robin
- Load Balancer tầng 4 (TCP)
Điểm endpoint này cũng có thể dùng để quản trị cụm thông qua API Kubernetes, thay vì trỏ trực tiếp vào một node cụ thể.
Các bước triển khai cụm RKE2 HA
- Cấu hình địa chỉ IP/endpoint cố định
- Khởi chạy node máy chủ đầu tiên bằng lệnh
rke2 server
- Thêm các node máy chủ bổ sung sử dụng cùng endpoint
- Thêm các node agent sử dụng endpoint đã cấu hình để đăng ký
Cấu hình mạng và port cần lưu ý
- Port 9345 (TCP): RKE2 server lắng nghe cổng này để các node mới đăng ký.
- Port 6443 (TCP): Kubernetes API server – được load balancer chuyển tiếp đến.
- Load balancer hoặc virtual IP phải chuyển tiếp các kết nối đến cả 9345 và 6443.
Tóm tắt
Thành phần | Mục đích |
---|---|
Node máy chủ (server) | Chạy etcd, API server, control-plane |
Agent node | Chạy workload ứng dụng |
IP/Endpoint cố định | Điểm truy cập đăng ký và quản trị (kubeconfig/API access) |
Load balancer/VIP | Cung cấp HA cho API Server và quy trình đăng ký |
Số node máy chủ lẻ | Đảm bảo quorum vững chắc cho etcd |
⚠️ Hãy luôn triển khai số lượng node máy chủ là số lẻ và sử dụng một endpoint ổn định để đảm bảo độ tin cậy của cụm.