ข้อกำหนดของระบบ
Opsta AI Gateway ทำงานอยู่บนคลัสเตอร์ Kubernetes ของคุณเองทั้งหมด โดยไม่มีการส่งข้อมูลใด ๆ ออกไปยังระบบคลาวด์ภายนอก และคุณสามารถสร้างระบบแพลตฟอร์มทั้งหมดขึ้นมาใหม่ได้จาก Helm chart หน้านี้จะแสดงรายละเอียดสิ่งที่คลัสเตอร์ของคุณจำเป็นต้องมีก่อนเริ่มต้นขั้นตอนการติดตั้ง
เอกสารนี้เหมาะสำหรับใคร
วิศวกรแพลตฟอร์ม (platform engineer) ที่ทำหน้าที่ติดตั้งและควบคุมดูแลระบบ gateway หากคุณต้องการเพียงแค่ใช้งาน gateway โปรดเริ่มต้นศึกษาที่คู่มือ วิธีการเข้าใช้งาน แทน
ระบบ Kubernetes
- Kubernetes ตั้งแต่เวอร์ชัน 1.28 ขึ้นไป: เนื่องจากแพลตฟอร์มจะติดตั้ง Gateway API CRD และต้องการระบบ control plane เวอร์ชันปัจจุบัน
- Gateway API v1.4.x: เพื่อให้บริการประเภทเส้นทางจัดส่งข้อมูล
v1และv1alpha2ที่เกตเวย์จำเป็นต้องใช้งาน โดยตัว chart สามารถติดตั้งสิ่งเหล่านี้ให้คุณได้โดยอัตโนมัติ หรือจะเลือกใช้งานส่วนที่มีอยู่แล้วบนคลัสเตอร์ก็ได้ - การกำหนด default StorageClass ที่ใช้งานได้ หรือกำหนดผ่านค่า
global.storageClass: เนื่องจากระบบ PostgreSQL, Redis และชุดระบบตรวจสอบสถานะการทำงานทั้งหมดจำเป็นต้องใช้งาน persistent volume ในการจัดเก็บข้อมูล - CNI ที่รองรับการบังคับใช้ NetworkPolicy: หากคุณต้องการให้มีการแยกส่วนระบบเครือข่ายระหว่างแต่ละส่วนประกอบเพื่อความปลอดภัย (แนะนำสำหรับสภาพแวดล้อมการใช้งานจริง) ทั้งนี้ CNI ขนาดเล็ก เช่น k3d หรือ flannel จะละเลยกฎ NetworkPolicy ซึ่งระบบแพลตฟอร์มจะยังคงทำงานได้ตามปกติ แต่มาตรการป้องกันการแยกส่วนเครือข่ายจะไม่มีผลบังคับใช้งานจริง
ทรัพยากรระบบประมวลผล (Compute)
ขนาดของทรัพยากรจะขึ้นอยู่กับระบบย่อยที่คุณเลือกเปิดใช้งาน โดยมีเกณฑ์เริ่มต้นที่เหมาะสมสำหรับการใช้งานจริงดังนี้
| รูปแบบโปรไฟล์ | เหมาะสำหรับ | ทรัพยากรระบบโดยประมาณ |
|---|---|---|
Standalone (global.highAvailability=false) | โครงการนำร่อง, ทีมเดี่ยว, งานทั่วไปที่ไม่วิกฤต | 1 replica ต่อส่วนประกอบ, ทรัพยากรประมาณ 6 ถึง 8 vCPU และแรม 12 ถึง 16 GiB |
High availability (global.highAvailability=true) | สภาพแวดล้อมใช้งานจริง, รองรับหลายทีม | 2 ถึง 3 replicas ต่อส่วนประกอบ พร้อมคลัสเตอร์ PostgreSQL และ Redis, ทรัพยากรประมาณ 16 vCPU ขึ้นไป และแรม 32 GiB ขึ้นไป |
การเปิดใช้งานฟีเจอร์ด้านความหมาย (semantic) ได้แก่ แคชและ guardrail ป้องกันคำสั่ง จะมีการติดตั้งฐานข้อมูลเวกเตอร์ (Qdrant) และบริการฝังข้อมูลตัวแทน (Ollama) เพิ่มเติม ซึ่งต้องการทรัพยากร CPU แรม และพื้นที่ดิสก์เพิ่มขึ้น ดูรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างจำนวน replica ได้ที่ ระบบความพร้อมใช้งานสูง (High availability)
ระบบเครือข่ายและระบบ DNS
- โดเมนหลัก (base domain) ที่คุณเป็นผู้ควบคุม: เช่น
ai-gateway.example.comโดยแพลตฟอร์มจะให้บริการผ่านโดเมนย่อยหลายรายการภายใต้โดเมนหลักนี้ ได้แก่api.,console.,grafana.,auth.และmcp.ในกรณีเปิดใช้งาน ดูรายละเอียดเพิ่มเติมได้ที่ TLS และโดเมน - ความสามารถในการออกใบรับรอง wildcard TLS สำหรับโดเมนดังกล่าว: สามารถดำเนินการผ่าน Let's Encrypt ด้วยวิธี DNS-01 หรือใช้ใบรับรองของคุณเอง หรือสร้างตัวออกใบรับรองแบบลงนามด้วยตนเอง (self-signed) สำหรับการติดตั้งในระบบปิด (air-gapped)
- ความสามารถในการเข้าถึงเกตเวย์จากภายนอก (inbound reachability): คุณสามารถเปิดให้เข้าถึงผ่านระบบ Ingress หรือ Load Balancer ของคุณเอง หรือเลือกใช้ตัวเลือก Cloudflare Tunnel ที่ติดตั้งมาให้ในตัวสำหรับสภาพแวดล้อมการทำงานที่ไม่มีไอพีสาธารณะขาเข้า
ระบบยืนยันตัวตน
- ผู้ให้บริการยืนยันตัวตนแบบ OIDC สำหรับการลงชื่อเข้าใช้งาน console และแดชบอร์ด: แพลตฟอร์มนี้มาพร้อมกับ Keycloak เป็นระบบเชื่อมต่อภายในตัว ทำให้แต่ละองค์กรสามารถนำ IdP ของตนเองมาเชื่อมต่อได้ ดูรายละเอียดเพิ่มเติมได้ที่ SSO และ IdP
- อีเมลผู้ดูแลระบบเริ่มต้น (bootstrap administrator) อย่างน้อยหนึ่งบัญชี: ซึ่งกำหนดค่าในขั้นตอนติดตั้ง เพื่อให้บุคคลแรกสามารถลงชื่อเข้าใช้งานระบบและกำหนดค่าส่วนอื่น ๆ ทั้งหมดได้
เครื่องมือการทำงาน
- Helm 3 และ kubectl: กำหนดค่าการเชื่อมต่อเพื่อสั่งงานคลัสเตอร์เป้าหมายเรียบร้อยแล้ว
- สิทธิ์ในการเข้าถึงภาพคอนเทนเนอร์ (container images): ไม่ว่าจะเป็นการดาวน์โหลดโดยตรงจาก registry สาธารณะ หรือการทำสำเนาภาพ (mirror) ไปยัง registry ของคุณเองสำหรับการติดตั้งในระบบปิด
ขั้นตอนต่อไป
- การติดตั้ง — ขั้นตอนการติดตั้ง Helm chart
- การกำหนดค่า — รายละเอียดโครงสร้างการกำหนดค่าและการแมปค่าไปยังแต่ละสภาพแวดล้อม