5 phút đọc
Dự án mortennordbye/homelab là một kho lưu trữ mã nguồn mở đạt 322 lượt stars và 15 lượt forks trên GitHub, sử dụng ngôn ngữ chính là TypeScript. Được thiết kế như một môi trường thử nghiệm cá nhân của tác giả Morten Nordbye, repository này thể hiện cách triển khai hạ tầng homelab chuẩn mực theo mô hình Infrastructure as Code (IaC) và GitOps, kết hợp các công cụ hiện đại gồm Talos Linux, Kubernetes, Proxmox VE, Terraform và Argo CD.
Quy trình khởi tạo hạ tầng IaC và quản lý ứng dụng với Argo CD
Hệ thống được thiết kế chia tách rõ ràng giữa giai đoạn chuẩn bị hạ tầng và khâu vận hành ứng dụng. Terraform chịu trách nhiệm khởi tạo các máy ảo chạy hệ điều hành Talos Linux trên nền tảng ảo hóa Proxmox VE. Ngay sau khi các máy ảo và cụm Kubernetes được thiết lập, toàn bộ các thao tác thay đổi hay triển khai tiếp theo đều thông qua cơ chế GitOps.
Để quản lý các ứng dụng tự triển khai (self-hosted), Argo CD sử dụng hai cấu hình ApplicationSets đặt tại đường dẫn k8s/talos/infra/argocd/. Cơ chế này tự động quét và sinh ra một Argo CD Application cho từng thư mục cụ thể. Nhờ đó, việc bổ sung một dịch vụ mới chỉ đơn giản là tạo thêm một thư mục tương ứng trong mã nguồn. Ngoài ra, các kịch bản Community Proxmox VE Helper-Scripts cũng được thực thi trên từng node sau khi hoàn tất cài đặt ban đầu.
Chiến lược bảo mật: Quét lỗ hổng Trivy và giám sát Falco eBPF
Repository mortennordbye/homelab tích hợp quy trình kiểm tra và giám sát an ninh hệ thống một cách chủ động:
- Quét lỗ hổng container tự động: Công cụ Trivy được thiết lập chạy định kỳ hàng tuần và mỗi khi có thay đổi trong các tệp Dockerfile. Trivy tập trung quét các lỗ hổng mức độ nghiêm trọng CRITICAL và HIGH trong các container của ứng dụng blog và portfolio, sau đó tải kết quả trực tiếp lên tab Security của GitHub để phục vụ việc theo dõi và xử lý.
- Phát hiện mối đe dọa thời gian thực: Falco vận hành dưới dạng DaemonSet trên mọi node của cụm máy chủ, theo dõi các hành vi bất thường ở mức lời gọi hệ thống (syscall). Nhờ sử dụng trình điều khiển eBPF hiện đại – giải pháp tương thích an toàn với Talos Linux mà không cần nạp kernel module – Falco đảm bảo tính ổn định cho hệ thống. Các cảnh báo được gửi về Discord qua Falcosidekick, đồng thời các quy tắc tinh chỉnh (template macros) giúp giảm thiểu cảnh báo giả. Dữ liệu giám sát từ Falco cũng được xuất ra bảng điều khiển Grafana.
Tự động hóa tài liệu và cập nhật trạng thái hệ thống thời gian thực
Tác giả thiết lập chuỗi tự động hóa để duy trì tài liệu đồng bộ với mã nguồn. Mỗi khi có lượt đẩy mã mới vào nhánh main, trang thông tin tại docs.nordbye.it sẽ tự động biên dịch từ thư mục docs/. Các bài viết phân tích chuyên sâu hơn về giải pháp hạ tầng được đăng tải trên blog.nordbye.it.
Repository này còn tích hợp đường ống CI/CD tự động cập nhật hai sơ đồ kiến trúc chính:
- Sơ đồ tổng thể hệ thống homelab: Mô tả kết nối giữa phần cứng, cụm máy chủ và các dịch vụ.
- Sơ đồ luồng dữ liệu: Thể hiện cách thức giao tiếp giữa các dịch vụ và luồng lưu lượng di chuyển trong cụm Kubernetes.
Về khả năng giám sát trạng thái, một tác vụ CronJob định kỳ 15 phút một lần sẽ lấy dữ liệu từ Kubernetes API và Prometheus để gửi đến nordbye.it/api/v1/infra. Thẻ thông tin trạng thái sẽ tự động thông báo nếu cụm máy chủ gặp sự cố không thể kết nối.
Đánh giá chung và những chi tiết chưa công bố
Repository mortennordbye/homelab là một nguồn tham khảo thực tế cho các kỹ sư muốn tìm hiểu mô hình GitOps kết hợp giữa Talos Linux, Argo CD và Proxmox. Việc triển khai quy trình kiểm tra bảo mật container bằng Trivy cùng hệ thống giám sát eBPF với Falco giúp nâng cao tính an toàn cho toàn bộ hạ tầng cá nhân.
Dù vậy, dựa trên thông tin hiện có trong repository, dự án chưa nêu rõ chi tiết thông số phần cứng vật lý (CPU, RAM, ổ cứng), số lượng node cụ thể của cụm Proxmox VE, cũng như danh sách chi tiết các dịch vụ tự host đang vận hành bên ngoài kho lưu trữ này.
Nguồn tham khảo: Xem bài gốc