- Published on
Yêu cầu khi cài đặt RKE2
- Authors
- Name
- Bạch Đăng Tuấn
- Occupation
- Kỹ sư công nghệ thông tin
- Zalo: 0934.01.07.04
🔐 Yêu cầu khi cài đặt RKE2
📑 Mục Lục
- Yêu cầu về Hardware cho RKE2
- Yêu cầu về Network
- Yêu cầu về Security
- Yêu cầu về hệ điều hành khi cài đặt RKE2
Yêu cầu về Hardware cho RKE2
Node Master tối thiểu
Control Plane Node (RKE2 Master Node):
- CPU: 2 vCPU hoặc nhiều hơn
- RAM: 4 GB hoặc nhiều hơn
- Disk Space: Tối thiểu 20 GB trống (ưu tiên SSD, đặc biệt khi sử dụng embedded etcd)
Worker Node (RKE2 Agent):
- CPU: 1 vCPU hoặc nhiều hơn
- RAM: 2 GB hoặc nhiều hơn
- Disk Space: Tối thiểu 10 GB trống
Giới hạn tài nguyên ảnh hưởng đến số lượng agent nodes
CPU máy chủ | RAM máy chủ | Số lượng agent RKE2 |
---|---|---|
2 vCPU | 4 GB | 0–225 |
4 vCPU | 8 GB | 226–450 |
8 vCPU | 16 GB | 451–1300 |
16+ vCPU | 32 GB+ | 1300+ |
Lưu ý khi mở rộng cluster
- Chỉ thêm 30–50 agent nodes mỗi lần để giảm áp lực lên control-plane.
- Khi thêm node mới, CPU và RAM trên control-plane sẽ tăng đột biến do xử lý các tài nguyên mới (pods, CRDs, network...).
- Nếu muốn mở rộng vượt quá 255 nodes, cần điều chỉnh
cluster-cidr
để cấp thêm dải IP cho pod networking.
Tối ưu hóa mở rộng cluster
- Tăng CPU/RAM cho control-plane nếu muốn thêm nhiều worker nodes.
- Thêm agent nodes theo từng đợt nhỏ (30–50 nodes/lần).
- Điều chỉnh
cluster-cidr
nếu cần quản lý hơn 255 nodes.
Yêu cầu về ổ Disk
- Hiệu suất của RKE2 phụ thuộc vào ổ đĩa do sử dụng embedded etcd.
- Nên dùng SSD để đảm bảo tốc độ truy xuất và hiệu suất ổn định cho vStorage của etcd và các dữ liệu runtime.
Yêu cầu về Network
Ports yêu cầu trên RKE2 Server (Control-plane)
Port | Protocol | Mô tả |
---|---|---|
6443 | TCP | Kubernetes API Server – cho phép agent nodes và kubectl kết nối |
9345 | TCP | Giao tiếp giữa server và agent nodes |
Ports yêu cầu trên tất cả các nodes (Control-plane & Worker)
Port | Protocol | Mô tả |
---|---|---|
8472 | UDP | Giao tiếp Flannel VXLAN – CNI networking |
10250 | TCP | Thu thập metrics qua kubelet – yêu cầu để dùng metrics-server |
⚠️ Lưu ý: Port 8472 không được phép mở ra Internet – nếu không sẽ khiến cluster dễ bị tấn công.
Tóm tắt các port trong hệ thống RKE2
Port | Protocol | Source | Destination | Description |
---|---|---|---|---|
6443 | TCP | Agent nodes | Server nodes | Kubernetes API |
9345 | TCP | Agent nodes | Server nodes | RKE2 Supervisor API |
10250 | TCP | All RKE2 nodes | All RKE2 nodes | Kubelet Metrics |
2379 | TCP | Server nodes | Server nodes | etcd client port |
2380 | TCP | Server nodes | Server nodes | etcd peer port |
2381 | TCP | Server nodes | Server nodes | etcd metrics port |
30000–32767 | TCP | All RKE2 nodes | All RKE2 nodes | NodePort port range |
CNI Specific Inbound Network Rules
Port | Protocol | Source | Destination | Description |
---|---|---|---|---|
8472 | UDP | All RKE2 nodes | All RKE2 nodes | Canal CNI with VXLAN |
9099 | TCP | All RKE2 nodes | All RKE2 nodes | Canal CNI health checks |
51820 | UDP | All RKE2 nodes | All RKE2 nodes | WireGuard IPv4 for Canal CNI |
51821 | UDP | All RKE2 nodes | All RKE2 nodes | WireGuard IPv6/Dual-Stack for Canal CNI |
Yêu cầu bảo mật (Security Requirements)
- SELinux/AppArmor: Nên bật để tăng cường bảo mật container runtime.
- FIPS 140-2: RKE2 hỗ trợ chế độ này cho môi trường yêu cầu tuân thủ cao.
- Port Filtering: Không mở các port nội bộ (như UDP 8472) ra internet.
- RBAC & Audit: Thiết lập phân quyền rõ ràng và bật audit logs.
- API Server access: Hạn chế truy cập 6443 chỉ từ IP quản trị.
Yêu cầu về hệ điều hành khi cài đặt RKE2
- Tắt Swap: RKE2 (và Kubernetes nói chung) không hỗ trợ hệ thống có swap. Swap cần được tắt hoàn toàn để kubelet hoạt động đúng.
- Đồng bộ thời gian hệ thống: Đồng bộ thời gian là yêu cầu bắt buộc, đặc biệt trong môi trường có nhiều node. Nên sử dụng
chrony
hoặcsystemd-timesyncd
,ntp
để đảm bảo thời gian nhất quán giữa các node trong cluster. - Cấu hình sysctl (kernel parameters): Một số tham số kernel cần được điều chỉnh để đáp ứng tốt cho container workload:
- Cho phép forward IP (cần thiết cho networking)
- Tăng giới hạn bản đồ bộ nhớ và số file mở
- Cấu hình các giới hạn kết nối mạng hợp lý
- Hỗ trợ tối ưu hóa cho overlay filesystem và container runtime
- Cấu hình ulimits: Giới hạn số file và tiến trình cần được tăng lên để đáp ứng nhu cầu của các container chạy song song:
- Tăng số file mở tối đa
- Tăng số tiến trình cho mỗi user
- Đảm bảo hệ thống không bị bottleneck do giới hạn OS
- Tắt các dịch vụ không cần thiết:
- Gỡ hoặc disable các dịch vụ không sử dụng để giảm bớt tài nguyên nền và giảm bề mặt tấn công.
- Hạn chế các tiến trình mặc định khởi chạy cùng hệ thống, trừ những thứ cần thiết cho Kubernetes/RKE2.
- Chọn hệ điều hành tương thích:
- Sử dụng các hệ điều hành được RKE2 hỗ trợ chính thức: Ubuntu LTS, RHEL, Rocky Linux, CentOS Stream.
- Tránh dùng OS quá cũ hoặc không còn nhận được bản vá bảo mật.
- Cập nhật hệ thống:
- Đảm bảo hệ điều hành đã được cập nhật các bản vá bảo mật và kernel ổn định.
- Kiểm tra định kỳ các gói phần mềm và module kernel có ảnh hưởng đến container hoặc CNI.
- Tối ưu filesystem và disk I/O:
- Ưu tiên sử dụng ổ SSD cho etcd và dữ liệu container.
- Tránh dùng ổ đĩa mạng (NFS, iSCSI...) cho các thành phần control-plane trừ khi được cấu hình kỹ.
- Chọn filesystem phù hợp như ext4 hoặc xfs.