หยุดจ่ายเงินสำหรับ CI ที่ไม่ได้ใช้งาน: GitLab Runners บน Kubernetes
ขยาย CI ไปรองรับยอดการใช้งานในวันจันทร์ จากนั้นลดความจุลงในช่วงกลางคืนและวันหยุดสุดสัปดาห์ — คู่มือห้านาทีพร้อมวิดีโอสาธิตทั้งสองแบบ XTAG0X XPR0X
ทีมงานส่วนใหญ่จ่ายค่า Continuous Integration เหมือนกับว่าทุกคืนและวันหยุดสุดสัปดาห์ยังคงเป็นเช้าวันจันทร์GitLab Runners บน Kubernetesพลิกโมเดลดังกล่าว: ขยายความสามารถเมื่อ pipelines เข้ามา แล้วลดทอนลงเมื่อสำนักงานเงียบสงบ อ่านการเจาะลึกทางเทคนิคสำหรับ Helm ค่าการตั้งค่า executor และโมเดลต้นทุน
ดูวิดีโอ
1. Runners & pipelines— autoscaling GitLab Runner workloads บน Kubernetes
2. GitLab Server บน HA Kubernetes— ติดตั้งด้วย Operator ในไม่กี่นาที
youtu.be/fu82hENYNEs· เอกสาร:GitLab Operator
นิสัยที่มีค่าใช้จ่ายสูง
- ช่วงกลางวัน:merge requests และ tests ทำให้ความต้องการพุ่งสูงขึ้น
- คืน:กิจกรรมลดลง; VMs แบบคงที่ยังคงเผา CPU และ RAM
- สุดสัปดาห์:มักจะใกล้ idle — แต่ดิสก์และโหนดอาจยังคงถูกเรียกเก็บเงิน
คุณไม่ได้จ่ายสำหรับการสร้างงานที่ทำเสร็จแล้ว คุณจ่ายสำหรับความสามารถที่มีอยู่ ไม่ว่าใครจะใช้งานหรือไม่ก็ตาม
ภาพที่เรียบง่ายกว่า
GitLab'sRunnerดำเนินการงานใน pipeline.Kubernetesสามารถสร้างผู้ปฏิบัติงานเหล่านั้นเป็น pods ที่มีอายุสั้นและลบพวกมันเมื่องานเสร็จสิ้น ที่ระดับ hyperscale แนวคิดเดียวกันนี้ใช้กับ nodes: มากขึ้นเมื่อคิวลึก; น้อยลง — โดยนัยคือเกือบไม่มีเลย — ตอนกลางคืนและวันหยุดสุดสัปดาห์
สถานที่ที่การประหยัดต้นทุนมหาศาลเกิดขึ้น
- ขยายขนาดขึ้นเมื่อผู้คน (หรือบอท) ทำงาน — pods งานแบบขนานจนถึงขีดจำกัด concurrency และ cluster ของคุณ
- ขยายขนาดลงอย่างหนักเมื่อความต้องการหายไป — pods หายไป; ด้วย cluster autoscaling, nodes ที่เป็นว่างจะออกจาก pool
- หยุดการสูญเสีย CPU, RAM และพื้นที่จัดเก็บบน fleet ของ runner ที่ทำงานตลอด 24 ชั่วโมงในช่วงเวลาเงียบสงบ
- จ่ายตามผลลัพธ์ ไม่ใช่เฟอร์นิเจอร์— รักษา GitLab และผู้จัดการ runner แบบบางไว้; ให้ฟาร์มระเหยหายไปเมื่อว่าง
การประหยัดมหาศาลปรากฏขึ้นเมื่อยอดสูงสุดของวันจันทร์不再กำหนดบิลของวันอังคารตอน 3 โมงเช้า — และเมื่อความเงียบของวันเสาร์ในที่สุดก็ดูเงียบบนใบแจ้งหนี้
เอกสารทางการ
- ติดตั้ง GitLab Runner ด้วย Helm chart
- กำหนดค่า Runner Helm chart
- Kubernetes executor
- GitLab Runner แบบ autoscaling
- การติดตั้ง GitLab Operator
อ่านถัดไป:บทความทางเทคนิคhyperscaleครอบคลุมหัวข้อ Operator vs Helm tracks, concurrency, DinD, observability และ FinOps checklist คำแนะนำในการสร้างคอร์ส:gitlab-runners-k3s-hyperscale-course.prompt.mdใน repo ของเว็บไซต์ Workstation (แทนที่ลิงก์ devops.git ที่เลิกใช้งานแล้ว)
เผยแพร่โดยWorkstation.