การขยาย Kubernetes ไปสู่ 7500 โหนด
(openai.com)-
OpenAI แชร์ประสบการณ์การขยาย
k8sสำหรับ GPT-3, DALL·E เป็นต้น -
โดยทั่วไปไม่ได้สเกลคลัสเตอร์เดี่ยวไปถึง 7500 โหนด จึงต้องมีการจัดการเฉพาะทาง แต่การทำแบบนี้ช่วยให้มีโครงสร้างอินฟราที่เรียบง่าย และสามารถขยายได้สะดวกโดยไม่ต้องเปลี่ยนโค้ด
-
แอปพลิเคชัน/ฮาร์ดแวร์แตกต่างจากสภาพแวดล้อมของบริษัททั่วไปเล็กน้อย
→ GPU ต้องใช้ฮาร์ดแวร์ของโหนดได้ทั้งหมดผ่าน NVLink/GPUDirect เป็นต้น
→ ดังนั้นโดยปกติ Pod หนึ่งตัวจะกินทั้งโหนด
→ กล่าวคือแม้จะมีโหนดจำนวนมาก แต่ภาระของ scheduler กลับค่อนข้างต่ำ
- เครือข่าย
→ เมื่อ Pod/โหนดมีจำนวนมากขึ้น จึงเปลี่ยนไปใช้ Native Pod Networking
→ เปลี่ยนมาใช้การจัดการ IP แบบอิง Alias ทำให้สามารถใช้ IP ได้ 200,000 รายการได้ทุกเมื่อ
- API Server
→ ใช้แดชบอร์ด Grafana ที่ kube-prometheus จัดให้
→ การตั้งเตือนโดยใช้ HTTP 429 (Too Many Requests) และ 5xx (Server Error) เป็นสัญญาณปัญหาระดับสูงมีประโยชน์
→ API server ทำงานอยู่นอกคลัสเตอร์เสมอ
1 ความคิดเห็น
บทความค่อนข้างยาว.. แต่คิดว่าคงไม่มีโอกาสต้องตั้งค่าคลัสเตอร์ในสเกลประมาณนี้ เลยขอสรุปแปลมาแบบสั้น ๆ ครับ