Kubernetes on NIPA Cloud Space with Rancher
Kubernetes (K8s) ซึ่งเป็นแพลตฟอร์ม Container Orchestration ที่ได้รับความนิยมสูงสุดในปัจจุบัน ได้กลายเป็นเครื่องมือสำคัญสำหรับสถาปัตยกรรมแบบ Microservices และ Cloud-Native NIPA Cloud Space ได้นำเทคโนโลยีนี้มาให้บริการบนโครงสร้างพื้นฐานคลาวด์ที่ทันสมัยและมีประสิทธิภาพสูง เพื่อตอบโจทย์ความต้องการของธุรกิจในยุคดิจิทัล
สรุปสถาปัตยกรรม Kubernetes บน NIPA Cloud Space

รูปนี้แสดงสถาปัตยกรรมของ Managed Kubernetes (KaaS) ที่ทำงานบน NIPA Cloud โดยมี Rancher เป็นเครื่องมือหลักในการบริหารจัดการ (Orchestrator) สามารถสรุปการทำงานเป็นส่วนๆ ได้ดังนี้:
ส่วนการจัดการ (Management Layer)
Admin/System Operation: คือผู้ดูแลระบบ ใช้ Rancher ในการสั่งการ, ติดตั้ง, และดูแล Cluster ทั้งหมด
Rancher: ทำหน้าที่เป็นศูนย์กลางการจัดการ Kubernetes Cluster (Managed K8s) ทำให้ดูแล Cluster ได้ง่ายผ่าน UI
RKE2: คือ Kubernetes Distribution ที่ Rancher ใช้ในการติดตั้ง ซึ่งมีความปลอดภัยและเสถียรภาพสูง
Node Pools: คือการแบ่งกลุ่มของเซิร์ฟเวอร์ (VM) ตามหน้าที่อย่างชัดเจน:
Master Pool: สำหรับ Control Plane ของ Kubernetes (สมองของระบบ)
Worker Pool: สำหรับรันแอปพลิเคชันทั่วไป (Workloads)
Cronjob Pool: สำหรับรันงานที่ทำงานตามเวลา (Scheduled Tasks) เพื่อไม่ให้กระทบแอปหลัก
Special Node Pool: สามารถสร้าง Pool เฉพาะทางได้ เช่น GPU สำหรับงาน AI/ML หรือ Highmem สำหรับงานที่ต้องการ RAM สูง
ส่วนการเชื่อมต่อกับ Cloud (Cloud Integration)
สถาปัตยกรรมนี้เชื่อมต่อกับบริการของ NIPA Cloud โดยตรงผ่าน:
Cluster Autoscaler: สั่ง เพิ่ม/ลดจำนวน Node (VM) อัตโนมัติ ผ่าน Cloud API ตามปริมาณการใช้งานจริง ช่วยควบคุมค่าใช้จ่ายและรองรับโหลดที่พุ่งสูงขึ้น
CSI (Container Storage Interface): ให้ Pod (Container) สามารถเชื่อมต่อกับ Cloud Block Storage (Premium-SSD, Standard-SSD, HDD) เพื่อเก็บข้อมูลแบบถาวร (Persistent Storage)
รองรับการใช้งานกับ Block Storage ของ NIPA Cloud Space ทั้ง 3 Type ได้แก่ Standard-SSD, Premium-SSD, Standard-HDD ในรูปแบบของ ReadWriteOne
หากต้องการใช้งานรูปแบบ ReadWriteMany สามารถติดตั้ง NFS Server แล้วนำมาเชื่อมต่อเป็น Storage Class ได้
CCI (Cloud Controller Interface): เมื่อมีการสร้าง Service Type
LoadBalancer
ใน Kubernetes ระบบจะไปสร้าง Cloud Load Balancer ของ NIPA Cloud ให้โดยอัตโนมัติ
ส่วนการทำงานภายใน Cluster (Internal Components)
Ingress Controller (APISIX/Nginx): เป็นประตูหลักในการรับ Traffic จากภายนอกเข้ามายัง Service ภายใน Cluster โดยมีการแบ่ง Ingress 2 ส่วนชัดเจน:
ncs-ingress
: สำหรับ Traffic ของผู้ดูแลระบบ เพื่อเข้าถึงเครื่องมือ Monitoringapp-ingress
: สำหรับ Traffic ของผู้ใช้งานทั่วไป เพื่อเข้าถึงแอปพลิเคชัน
Monitoring & Logging (
ncs-monitor
):Prometheus: เก็บ Metrics ต่างๆ ของระบบ
Grafana: แสดงผล Dashboard สวยงามจากข้อมูลของ Prometheus
Filebeat: รวบรวม Log จากทุกส่วนและส่งออกไปยัง Logging Service ภายนอก
Networking (
kube-system
):CNI (Cilium/Calico): จัดการเรื่อง Network ระหว่าง Pod และใช้บังคับ Network Policies (เหมือน Firewall ระหว่าง Pod) เพื่อเพิ่มความปลอดภัย
CoreDNS/NodeLocalDNS: ทำหน้าที่เป็น DNS ภายใน Cluster ช่วยให้ Service ต่างๆ คุยกันเองได้ผ่านชื่อ และมี Cache ที่แต่ละ Node เพื่อลดภาระ DNS กลาง
ส่วนของแอปพลิเคชัน (Application Workloads)
namespace:
app-prod
เป็นพื้นที่สำหรับรันแอปพลิเคชันของผู้ใช้งานจริง เช่น NodeJS, PHP, .Net API Server ซึ่งจะถูกเรียกใช้งานผ่านapp-ingress
นี่คือสถาปัตยกรรม KaaS ที่สมบูรณ์และทันสมัย มีการแบ่งส่วนการทำงานชัดเจน (Separation of Concerns) ทำให้ดูแลรักษาง่าย มีระบบ Automation สูง (Autoscaling) เชื่อมต่อกับบริการ Cloud ได้อย่างสมบูรณ์ (CSI/CCI) และมีเครื่องมือ Monitoring ครบครัน พร้อมใช้งานได้ทันที จุดเด่นคือการใช้ Rancher ในการบริหารจัดการ และการออกแบบ Node Pools ที่ยืดหยุ่น ทำให้สามารถรองรับ Workload ได้หลากหลายรูปแบบอย่างมีประสิทธิภาพ
Last updated
Was this helpful?