-
โปรเจกต์สำหรับคนที่ต้องการทำระบบอัตโนมัติให้กับเซิร์ฟเวอร์ที่ใช้งานอยู่ที่บ้าน
-
ใช้ Infrastructure as Code เพื่อทำ provisioning/operation/update บริการต่าง ๆ บนเซิร์ฟเวอร์ส่วนตัวแบบอัตโนมัติ
→ provisioning แบบ bare metal อัตโนมัติด้วย PXE boot
→ ติดตั้งและจัดการ Kubernetes อัตโนมัติ
→ ติดตั้งและจัดการแอปพลิเคชันด้วย GitOps
→ จัดการใบรับรองอัตโนมัติ
→ อัปเดต DNS สำหรับเซิร์ฟเวอร์ที่เปิดให้เข้าถึงจากภายนอก
→ เปิดให้บริการสู่ภายนอกอย่างปลอดภัยด้วย CloudFlare Tunnel
→ แพลตฟอร์ม CI/CD
→ คอนเทนเนอร์รีจิสทรีแบบโฮสต์เอง
→ ที่เก็บข้อมูลแบบกระจาย
-
โร้ดแมปในอนาคต: รองรับ monitoring และ alerting, สภาพแวดล้อม Dev/stage/Prod, การสำรองข้อมูล offsite อัตโนมัติ, SSO เป็นต้น
-
รองรับแดชบอร์ดแอปพลิเคชันด้วย K8s Ingress Discovery (Hajimari)
-
เทคสแต็ก
→ Ansible : provisioning และตั้งค่า bare metal อัตโนมัติ
→ ArgoCD : เครื่องมือ GitOps สำหรับติดตั้งแอปพลิเคชันบน Kubernetes
→ Cloudflare : DNS และ Tunnel
→ Docker : เซิร์ฟเวอร์ PXE แบบ ephemeral และคอนเทนเนอร์เครื่องมือ
→ Gitea : บริการ Git แบบ self-hosted
→ Grafana : แดชบอร์ดการปฏิบัติการ
→ Helm : ตัวจัดการแพ็กเกจสำหรับ Kubernetes
→ K3s : Kubernetes แบบ lightweight
→ Kubernetes : การ orchestration คอนเทนเนอร์ ซึ่งเป็นแกนหลักของโปรเจกต์นี้
→ Let's Encrypt : ใบรับรองฟรี
→ Loki : ระบบรวมศูนย์ล็อก
→ Longhorn : distributed block storage แบบ cloud-native สำหรับ Kubernetes
→ MetalLB : load balancer สำหรับ bare metal บน Kubernetes
→ NGINX : Ingress controller สำหรับ Kubernetes
→ Prometheus : การมอนิเตอร์ระบบและการแจ้งเตือน
→ Rocky Linux : Base OS สำหรับโหนด Kubernetes
→ Tekton : โซลูชัน cloud-native สำหรับสร้างระบบ CI/CD
→ Trow : private container registry
→ Vault : ระบบจัดการ secret และการเข้ารหัส
1 ความคิดเห็น
สเปกอาจจะเกินความจำเป็นไปหน่อยสำหรับเซิร์ฟเวอร์ส่วนตัว แต่ก็ดูน่าลองตั้งค่าไว้เล่น ๆ หรือใช้เพื่อการเรียนรู้ แล้วค่อย ๆ เปิดดูศึกษาระบบได้ดีทีเดียว
ผู้เขียนต้นฉบับบอกว่าตอนนี้ยังเป็นเวอร์ชันอัลฟา และกำลังพูดถึงทิศทางการพัฒนาต่อไปไว้หลายอย่าง https://news.ycombinator.com/item?id=30030991