Score:0

K8S จำกัดจำนวนพ็อดเริ่มต้นพร้อมกัน

ธง gp

ฉันมีปัญหากับ K8S ฉันมีไมโครเซอร์วิสประมาณ 30 ตัว (จาวาทำงานบนสปริงบูต) Microservices ต้องการ CPU จำนวนมากสำหรับการเริ่มต้นเท่านั้น เนื่องจากมีไลบรารีจำนวนมาก เมื่อฉันปรับใช้ไมโครเซอร์วิสทั้งหมดพร้อมกัน มันจะสร้างโหลด CPU ขนาดใหญ่มากบนโหนด K8S และพวกมันจะถูกทำเครื่องหมายว่าไม่พร้อมใช้งาน ฉันต้องจำกัดจำนวนของพ็อดเริ่มต้นพร้อมกันเพื่อหลีกเลี่ยงการโหลด cpu สูงบนโหนด มีวิธีใดบ้างในการทำเช่นนี้?

SYN avatar
hk flag
SYN
คุณต้องปรับขีดจำกัดทรัพยากร/คำขอตามปริมาณการใช้
Score:1
ธง mc

คุณสามารถตั้งค่าซีพียู ขีดจำกัดและคำขอ.

เมื่อคุณตั้งค่าเหล่านี้แล้ว แม้ว่าขีดจำกัดจะกว้างมาก แต่รันไทม์ของ Kubelet และคอนเทนเนอร์ก็ทำงานร่วมกันเพื่อบังคับใช้ขีดจำกัดของ CPU นอกจากนั้นคุณสามารถ สำรองทรัพยากรสำหรับ Kubernetes เอง เพื่อให้ปริมาณงานไม่ทำให้โหนดโดยรวมตกอยู่ในความเสี่ยง

เมื่อคุณกำหนดสิ่งเหล่านี้แล้ว เคอร์เนลของ Linux จะรับผิดชอบในการบังคับใช้ขีดจำกัดและทำให้แน่ใจว่าทรัพยากรที่มีอยู่ได้รับการจัดสรรอย่างยุติธรรม หากคุณมี DaemonSets ในคลัสเตอร์ ตรวจสอบให้แน่ใจว่าชุดเหล่านี้มีทรัพยากรและขีดจำกัดด้วย คุณสามารถลองเรียกใช้ DaemonSets เป็น รับประกันเพื่อให้ทรัพยากรของพวกเขาถูกปิดล้อม ดู กำหนดค่าคุณภาพการบริการสำหรับพ็อด.

เมื่อนำมารวมกัน มาตรการเหล่านี้ควรปกป้องโหนดของคุณจากภาระงาน ในขณะที่ยังคงอนุญาตให้แอป Pods ระเบิดใน CPU ที่พร้อมใช้งานระหว่างการเริ่มต้น

หากคุณพบว่ายังมีปัญหาอยู่ มีขั้นตอนเพิ่มเติมที่คุณสามารถทำได้: ชะลอการเริ่มต้นแต่ละครั้งด้วยจำนวนสุ่ม คุณสามารถทำได้โดยไม่ต้องเปลี่ยนแอป โดยเรียกใช้แบบกำหนดเอง คอนเทนเนอร์เริ่มต้น ก่อนเริ่มแอปหลัก ความล่าช้าแบบสุ่มนั้นช่วยหลีกเลี่ยง ฝูงฟ้าร้อง ปัญหาที่แต่ละ JVM ทำงานด้วยรูปแบบการเข้าถึงทรัพยากรเดียวกันในเวลาเดียวกัน

Score:0
ธง mc

หากคุณแน่ใจว่าต้องการจำกัดอัตราจำนวนของ Pod ที่เรียกใช้ระหว่างการเปิดตัว คุณสามารถขยายคลัสเตอร์ Kubernetes ได้โดยการปรับใช้ อาร์โก้ โรลเอาท์.

ด้วยความพยายาม คุณสามารถกำหนดกลไกการปรับใช้ของคุณเองเพื่อจำกัดจำนวนการปรับใช้พร้อมกันโดยการตั้งค่า ข้อมูลเมตาชั่วคราว จากนั้นสร้างกลไกของคุณเอง (ไม่ว่าจะเป็นเว็บฮุคการรับสมัครหรือปลั๊กอินการตั้งเวลา) เพื่อจำกัดอัตราในการสร้างหรือเริ่มต้นพ็อดที่มีป้ายกำกับเหล่านี้

ฉันไม่แนะนำสิ่งนี้: แม้ว่า Kubernetes จะทำให้เป็นไปได้ แต่ก็เป็นงานมาก คำตอบอื่นของฉันคือวิธีที่ง่ายกว่าเพื่อให้ได้ผลลัพธ์โดยรวมที่คล้ายกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา