Kiến trúc
Vị trí trong trang admin: đây là trang tài liệu tham khảo. Các dịch vụ được mô tả ở đây có thể xem bằng
sudo nexcmp status; các kết nối được cấu hình tại Infrastructure và System › Settings.
Sơ đồ minh họa
Diễn giải sơ đồ chi tiết
- Khách hàng hoặc quản trị viên mở
https://cloud.example.com(portal),https://cloud.example.com/admin(admin console) hoặc gọi REST API. DNS trỏ tên miền về server của bạn, hoặc về Cloudflare để proxy tới đó. - nginx trên panel server lắng nghe trên cổng 80 (chuyển hướng và gia hạn chứng chỉ) và 443 (TLS), sau đó chuyển tiếp mọi request đến panel trên
127.0.0.1:3000. Sau trình cài đặt ban đầu (setup wizard), panel chỉ lắng nghe trên giao diện loopback. - panel (
nexcmp.service) phục vụ customer portal, admin console, REST API, setup wizard và các bản tải xuống cần thiết cho node (agent binary, script cài đặt, công cụ dòng lệnhcmp). Nó cũng kiểm tra license của bạn mỗi ngày một lần. - Worker (
nexcmp-vmd.service) lắng nghe trên127.0.0.1:8112, chỉ khả dụng cục bộ. Tiến trình này chạy mọi tác vụ tốn thời gian hoặc cần thực thi theo lịch trình: tác vụ cấp phát tài nguyên, đồng bộ hóa với CloudStack và Proxmox VE, chu kỳ tính phí (billing ticks), thu thập băng thông và các kết nối console trên trình duyệt. - Từ hai tiến trình này, NexCMP gọi ra bên ngoài: CloudStack (management API), Proxmox VE (API trên cổng 8006, ghim chứng chỉ), Dell iDRAC (Redfish qua HTTPS trên mạng quản trị), Ceph RGW (S3 và Admin Ops qua HTTPS), cổng thanh toán (Stripe, PayPal, USDT và các đơn vị chuyển khoản ngân hàng, những bên này cũng sẽ gọi đến webhook URL của bạn), máy chủ SMTP của bạn, một nhà cung cấp AI tương thích API OpenAI, và tùy chọn Telegram.
- Các node VPN chạy
cmp-agent. Mỗi node đăng ký một lần bằng token dùng một lần, sau đó gửi heartbeat định kỳ 5 giây một lần qua HTTPS tới panel và nhận cấu hình trong phản hồi. Các node proxy IPv6 được panel cài đặt một lần qua SSH, sau đó sẽ tự kéo cấu hình từ panel về. - Dữ liệu trạng thái được lưu trong các cơ sở dữ liệu SQLite và một số tệp trong
/var/lib/nexcmp. Thông tin xác thực cho CloudStack, Proxmox, S3, iDRAC và nhà cung cấp AI được lưu trữ mã hóa (AES-256-GCM) cùng các tệp khóa master trong cùng khu vực này.
Dịch vụ và tiến trình
| Tiến trình | Chạy dưới quyền | Lắng nghe trên | Nhiệm vụ |
|---|---|---|---|
nginx | root (worker www-data) | 80, 443 | TLS, chuyển hướng, proxy tới panel |
nexcmp | nexcmp | 3000 (tất cả interface khi cài đặt lần đầu, sau đó là 127.0.0.1) | Portal, admin console, API, wizard, tải xuống |
nexcmp-vmd | nexcmp | 127.0.0.1:8112 | Tác vụ, đồng bộ, tính phí, băng thông, console |
nexcmp-update | root | không có | Áp dụng các bản cập nhật do admin console yêu cầu (một path unit sẽ chờ yêu cầu) |
cmp-agent (trên các node VPN) | root | các cổng lắng nghe VPN | Báo cáo về panel, chạy các proxy listener trên IPv4 công cộng |
Panel và worker chạy dưới quyền người dùng thông thường không có bất kỳ Linux capability nào, với hệ thống tệp ở chế độ chỉ đọc ngoại trừ /var/lib/nexcmp và /var/log/nexcmp. Cả hai không cần root, không cần Docker, không cần cơ sở dữ liệu riêng biệt và không cần Redis.
Tệp tin và vị trí lưu trữ
| Đường dẫn | Nội dung |
|---|---|
/opt/nexcmp | Chương trình: các bản phát hành, bin/, các tệp dùng chung như trình tạo template. Thuộc sở hữu của root, chỉ đọc đối với dịch vụ. |
/etc/nexcmp | Cài đặt của bộ cài (install.conf), cổng và liên kết bind (nexcmp.env). |
/var/lib/nexcmp | Các cơ sở dữ liệu SQLite, thương hiệu đã tải lên, thư mục tải agent, trạng thái giấy phép, các tệp khóa master. Hãy sao lưu phần này. |
/var/log/nexcmp | Nhật ký. |
Xem Backup and restore. Các tệp khóa master phải được sao lưu cùng với cơ sở dữ liệu, nếu không cơ sở dữ liệu sau khi khôi phục sẽ không thể giải mã các thông tin xác thực đã lưu.
Sơ đồ kết nối giữa các thành phần
| Chiều | Đường dẫn | Cổng | Ghi chú |
|---|---|---|---|
| Khách hàng tới panel | Internet, DNS, Cloudflare tùy chọn, nginx | 443 | Xem DNS and Cloudflare. |
| Panel tới máy chủ giấy phép | nexcmp.com | 443 | Kích hoạt, kiểm tra hàng ngày và cập nhật. |
| Panel tới CloudStack | API | 443 hoặc 8080 | Console của VM, băng thông và các tính năng Kubernetes đều sử dụng cùng một endpoint. |
| Panel tới Proxmox VE | API và WebSocket console | 8006 | Chứng chỉ được ghim bằng SHA-256. |
| Panel tới iDRAC | Redfish | 443, VNC 5901 | Chỉ mạng quản lý. |
| iDRAC đến ISO server | HTTP | cổng của bạn | iDRAC tải file ISO về. |
| Panel đến Ceph RGW | Admin Ops | 443 | |
| Panel đến SMTP | SMTP | 587 hoặc 465 | |
| Panel đến nhà cung cấp AI | HTTPS | 443 | Chỉ khi module AI được bật. |
| Cổng thanh toán đến panel | Webhook | 443 | Stripe và PayPal gửi callback. |
| Node đến panel | cmp-agent | 443 | Enroll, heartbeat, nâng cấp. |
| Panel đến node proxy IPv6 | SSH | cổng bạn nhập | Chỉ dùng một lần khi cài đặt. |
Tầm quan trọng
- Panel có thể truy cập được là panel có thể bị tấn công. Hãy đóng cổng 3000 sau khi hoàn tất trình hướng dẫn thiết lập. Trình cài đặt đã tự động làm việc này khi TLS hoạt động.
- Worker phải đang chạy để hệ thống có thể tạo tài nguyên hoặc tính cước.
sudo nexcmp statushiển thị cả hai dịch vụ và bước kiểm tra trạng thái hoạt động. - Lập kế hoạch tường lửa chiều ra. Nếu lưu lượng outbound của máy chủ panel bị lọc, hãy cho phép các đích đến trong bảng trên.
- Lưu lượng quản lý không đi qua đường truyền công cộng. Các kết nối đến CloudStack, Proxmox VE, iDRAC và Ceph đi thẳng từ máy chủ panel tới các hệ thống đó, không bao giờ qua nginx hoặc Cloudflare.