Score:1

Kubernetes Pod ล้มเหลวโดยมีสถานะ OutOfMemory ทันทีหลังจากกำหนดเวลา

ธง ao

ฉันกำลังทดสอบแอปพลิเคชันของฉันบนคลัสเตอร์ Kubernetes แบบ Bare-Metal (เวอร์ชัน 1.22.1) และมีปัญหาเมื่อเปิดใช้แอปพลิเคชันของฉันในฐานะงาน

คลัสเตอร์ของฉันมีสองโหนด (มาสเตอร์และผู้ปฏิบัติงาน) แต่ผู้ปฏิบัติงานถูกปิดล้อม บนโหนดหลัก มีหน่วยความจำ 21GB สำหรับแอปพลิเคชัน

ฉันพยายามเปิดใบสมัครเป็นสามงานพร้อมกัน เนื่องจากฉันตั้งค่าหน่วยความจำ 16GB เป็นทั้งคำขอทรัพยากรและขีดจำกัด จึงมีเพียงงานเดียวเท่านั้นที่เริ่มทำงานและอีกสองงานที่เหลืออยู่ในสถานะรอดำเนินการ ฉันได้ตั้งค่า backoffLimit: 0 ไว้ที่งาน

สถานะพร้อมชื่อเริ่มอายุใหม่
app1--1-8pp6l 0/1 รอดำเนินการ 0 42 วินาที
app2--1-42ssl 0/1 รอดำเนินการ 0 45s
app3--1-gxgwr 0/1 ทำงาน 0 46 วินาที

หลังจากพ็อดแรกเสร็จสิ้น ควรเริ่มพ็อดหนึ่งในสองพ็อดที่อยู่ในสถานะรอดำเนินการเท่านั้น อย่างไรก็ตาม มีการเริ่มต้นหนึ่งรายการ และอีกรายการหนึ่งอยู่ในสถานะ OutOfMemory แม้ว่าจะไม่มีการเริ่มต้นคอนเทนเนอร์ใน Pod ก็ตาม

สถานะพร้อมชื่อเริ่มอายุใหม่
app1--1-8pp6l 0/1 วิ่ง 0 90 วินาที
app2--1-42ssl 0/1 หน่วยความจำภายนอก 0 93 วินาที
app3--1-gxgwr 0/1 เสร็จสิ้น 0 94 วินาที

เหตุการณ์ของ OutOfMemory Pod มีดังนี้:

เหตุการณ์:
  พิมพ์อายุเหตุผลจากข้อความ
  ---- ------ ---- ---- -------
  คำเตือน FailedScheduling 3m41s (x2 over 5m2s) default-scheduler มี 0/2 โหนด: 1 หน่วยความจำไม่เพียงพอ 1 โหนดไม่สามารถจัดตารางเวลาได้
  ตัวกำหนดตารางเวลาเริ่มต้น 3m38s ตามกำหนดการปกติ กำหนดการทดสอบ/app2--1-42ssl ให้กับมาสเตอร์เรียบร้อยแล้ว
  คำเตือน OutOfmemory 3m38s kubelet Node มีทรัพยากรไม่เพียงพอ: หน่วยความจำ, ที่ร้องขอ: 16000000000, ใช้: 31946743808, ความจุ: 37634150400

ดูเหมือนว่า Pod ถูกกำหนดให้กับโหนดแม้ว่าจะมีพื้นที่ไม่เพียงพอเนื่องจาก Pod อื่นเพิ่งเริ่มทำงาน

ฉันเดาว่านี่ไม่ใช่พฤติกรรมที่คาดหวังของ Kubernetes มีใครรู้สาเหตุของปัญหานี้ไหม

Mikolaj S. avatar
cn flag
คุณพูดถูก ไม่คาดหวังพฤติกรรมนี้ - เนื่องจากฉันทดสอบในเครื่อง (การกำหนดค่าเดียวกันกับของคุณ - 3 งานที่มีขีดจำกัดและชุดคำขอ) - แต่ละงานจะเสร็จสมบูรณ์เมื่องานก่อนหน้าสิ้นสุดลง ฉันเห็นว่าคุณมีสองโหนด - คุณต้องการเรียกใช้งานโหนดใดโหนดหนึ่งหรือไม่ เหตุใดหนึ่งในโหนดจึงมี `node.kubernetes.io/unreachable:` taint? คุณพยายามรอให้ `app1--1-8pp6l ` สิ้นสุดแล้วจึงตรวจสอบหรือไม่ คุณใช้โซลูชัน Kubernetes ใดกับโลหะเปลือยกันแน่ ข้อผิดพลาดอาจเกี่ยวข้องกับโซลูชันเฉพาะ
Daigo avatar
ao flag
ฉันแนบข้อความผิด ขอโทษด้วย ฉันมีสองโหนดจริง ๆ และพนักงานถูกปิดล้อม (ฉันได้แก้ไขข้อความของฉันด้วย) หลังจาก `app1` เสร็จสิ้น `app2` ยังอยู่ในสถานะ OutOfMemory ฉันใช้ kubeadm เพื่อสร้างคลัสเตอร์ k8s ของฉัน
Score:1
ธง cn

เป็นปัญหาที่ทราบแล้วสำหรับ 1.22.x เวอร์ชัน - คุณสามารถค้นหาหัวข้อ GitHub และ Stackoverflow ได้หลายหัวข้อเกี่ยวกับเรื่องนี้ ตัวอย่างเช่น:

การแก้ไขปัญหารวมอยู่ในเวอร์ชัน 1.23:

  • แก้ไขการถดถอยที่ Kubelet ล้มเหลวในการแยกพ็อดที่เสร็จสมบูรณ์แล้วออกจากการคำนวณเกี่ยวกับจำนวนทรัพยากรที่กำลังใช้อยู่เมื่อตัดสินใจว่าจะอนุญาตพ็อดเพิ่มเติมหรือไม่ (#104577, @smarterclayton)

ดังนั้น โปรดอัปเกรดคลัสเตอร์ Kubernetes เป็นเวอร์ชันเสถียรล่าสุด

ฉันหวังว่ามันจะช่วยคุณได้ แต่จำไว้ ปัญหาที่คล้ายกันอื่นเปิดอยู่บน Github แม้จะใช้การแก้ไขแล้วก็ตาม (กล่าวถึง ที่นี่ ประมาณ 10 วันที่แล้ว - ระบุวันที่ 13 มกราคม 2565):

การเชื่อมโยงที่นี่เพื่อความสมบูรณ์ - อาการที่คล้ายกันอาจปรากฏขึ้นหลังจากการแก้ไขนี้ตามที่อธิบายไว้ใน #106884. kubelet พิจารณาทรัพยากรสำหรับการยกเลิกพ็อดที่ใช้งานอยู่ (มีอยู่จริง!) แต่ตัวกำหนดตารางเวลาไม่สนใจการยุติพ็อดและกำหนดเวลาพ็อดใหม่ เนื่องจากตอนนี้ kubelet กำลังพิจารณาที่จะยกเลิกพ็อด จึงปฏิเสธพ็อดที่เปลี่ยนกำหนดการอย่างรวดเร็วเหล่านั้น

จากนั้น ทางออกเดียวคือการปรับลดรุ่นเป็นเวอร์ชัน 1.21

Score:0
ธง us

คุณช่วยโพสต์ yaml ของฝักได้ไหม

ฉันมีบางอย่างที่คล้ายกันกับลูกค้ารายหนึ่งของฉัน ซึ่งพวกเขาพิมพ์ผิดที่ขีดจำกัดของหน่วยความจำ (860m แทนที่จะเป็น 860Mi) คุ้มค่าที่จะดู

โพสต์คำตอบ

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