- เครื่องมือรันไทม์ ที่พัฒนาขึ้นเพื่อลด การสิ้นเปลืองทรัพยากรของคอนเทนเนอร์ที่ไม่ใช้งาน ในสภาพแวดล้อม Kubernetes
- หากไม่มีการเชื่อมต่อ TCP เป็นช่วงเวลาหนึ่ง จะทำการ บันทึกเช็กพอยต์ลงดิสก์ ของคอนเทนเนอร์โดยอัตโนมัติ
- ทำงานในรูปแบบ containerd shim โดยจะบันทึกสถานะหน่วยความจำของคอนเทนเนอร์แล้วปิดมัน จากนั้นเมื่อมีการเชื่อมต่อครั้งแรกภายหลังจะ กู้คืนได้ภายในไม่กี่มิลลิวินาที
- ระหว่างการกู้คืน สถานะทั้งหมดของแอปพลิเคชันจะถูกคืนกลับเหมือนเดิม ทำให้จากมุมมองของผู้ใช้แทบไม่รู้สึกถึงความหน่วง
- ใช้ การรีไดเร็กต์ที่อิง eBPF เพื่อส่งแพ็กเก็ต TCP ไปยังพร็อกซี และหลังการกู้คืนเสร็จสิ้นจะสลับกลับเป็นการเชื่อมต่อโดยตรง
- ใช้ CRIU - Checkpoint and Restore in Userspace ในการทำเช็กพอยต์และการกู้คืน
- มี ลำดับการทำงานของการเปิดใช้งาน (activation sequence) ที่ทำให้กู้คืนอัตโนมัติได้เมื่อมีคำขอแรกเข้ามา
- มีตรรกะการรอแบบอัจฉริยะที่ ติดตามกิจกรรม TCP ล่าสุด เพื่อป้องกันการหยุดและกู้คืนบ่อยเกินไป
- บน Kubernetes ระบบจะมองว่าคอนเทนเนอร์ยังคงทำงานอยู่ จึงช่วย ป้องกันการรีสตาร์ตรันไทม์
- เมื่อใช้คำสั่ง
kubectl exec จะกู้คืนให้อัตโนมัติ จึงเข้าถึงได้เหมือนคอนเทนเนอร์ทั่วไป
- แต่ละโปรเซส shim จะ เก็บเมตริก และ zeropod-manager ระดับโหนดจะรวบรวมแล้วเปิดเผยผ่าน HTTP endpoint
- หากคลัสเตอร์รองรับ จะมีฟังก์ชัน in-place scaling สำหรับ ปรับ resource request แบบไดนามิก
- เมื่อต้อง drain โหนด สามารถ ย้าย Pod ที่สเกลลงแล้วไปยังโหนดอื่น ได้
- รองรับ live migration ด้วยในฐานะฟีเจอร์เชิงทดลอง
- เหมาะกับ บริการทราฟฟิกต่ำ, สภาพแวดล้อมพัฒนา·สเตจจิง, tier ราคาประหยัดของแพลตฟอร์มคล้าย Heroku, การจัดองค์ประกอบแบ็กเอนด์ของเว็บไซต์แบบสแตติก เป็นต้น
- โปรแกรมส่วนใหญ่ทำงานได้โดยไม่ต้องแก้ไขเพิ่มเติม และ สามารถวิเคราะห์ข้อผิดพลาดของ CRIU ผ่าน containerd logs ได้
4 ความคิดเห็น
การเกิดใหม่ของ
inetd? (ล้อเล่น)ตอนที่แล้วผมเห็น Elastic Machine Pool ของ Platform 9 ในงาน AWS re:Invent แต่ตอนนั้นมันเป็นโซลูชันสำหรับ B2B โดยเฉพาะ เลยรู้สึกว่าหยิบมาลองเล่นค่อนข้างลำบาก แต่ตัวนี้ติดตั้งง่ายและการทำงานก็ตรงไปตรงมาดีครับ อยากจัดสรรทรัพยากรแบบเชิงรุกในสภาพแวดล้อมพัฒนาโดยไม่ทำลายประสบการณ์ผู้ใช้ ถ้าลองทำ PoC แล้วโอเค ก็ดูน่าจะเอามาใช้ได้ครับ
ฉันสงสัยว่ามันต่างจาก KNative อย่างไร แต่ดูเหมือนว่า 2 ประโยคด้านล่างนี้คือประเด็นสำคัญ
lambda. . .. ?