Score:2

รับประกันโควตาทรัพยากรในเนมสเปซ

ธง ng

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

กำลังติดตาม คำแนะนำ ฉันได้ลองใช้สิ่งต่อไปนี้บนเนมสเปซ:

api เวอร์ชัน: v1
ชนิด: ResourceQuota
ข้อมูลเมตา:
  ชื่อ: mem-โควต้า
ข้อมูลจำเพาะ:
  แข็ง:
    คำขอหน่วยความจำ: 8Gb

อย่างไรก็ตาม จากการอ่านเอกสารเพิ่มเติม ปรากฎว่าสิ่งนี้ไม่ได้รับประกันว่าพ็อดของพวกเขาจะมีหน่วยความจำ 8Gb มันหมายถึงผลรวมของฝัก คำขอหน่วยความจำ มูลค่าต้องไม่เกิน 8Gb เป็นไปได้ว่าพวกเขาอาจตั้งค่า 8Gb ตามข้างต้น ใช้เพียง 4Gb และไม่สามารถสร้างพ็อดใหม่ได้หากคลัสเตอร์ถูกใช้งานในที่อื่นจนเต็ม และไม่สามารถกำหนดเวลาพ็อดใหม่ได้

ตัวอย่างเช่น ฉันสามารถสร้าง โควต้าทรัพยากร กับ คำขอหน่วยความจำ ค่า 16Gi บนคลัสเตอร์ที่มีหน่วยความจำทั้งหมดเพียง 8Gi

มีการรับประกันว่าทีมจะมีหน่วยความจำจำนวนคงที่สำหรับใช้งานเท่านั้นหรือไม่?

Score:0
ธง cn
Vit

มันหมายถึงผลรวมของคำขอพ็อดของพวกเขา ค่าหน่วยความจำไม่ได้ เกิน 8Gb

ใช่ นี่คือตรรกะสำหรับ ResourceQuota จาก ทำความเข้าใจกับโควต้าทรัพยากร:

โควต้าทรัพยากรทำงานดังนี้:

  • ผู้ใช้ส่งคำขอทรัพยากรการคำนวณในพ็อด ผลรวมของคำขอทรัพยากรทั้งหมดในพ็อดทั้งหมดในเนมสเปซเดียวกันจะต้องไม่ เกินขีดจำกัดทรัพยากรฮาร์ดใด ๆ ในเอกสารโควต้าทรัพยากรใด ๆ สำหรับ เนมสเปซ โปรดทราบว่าเราใช้ในการตรวจสอบโควต้าทรัพยากรโดยการตรวจสอบ ผลรวมของทรัพยากรที่จำกัดของพ็อด แต่สิ่งนี้ถูกเปลี่ยนเพื่อใช้ คำขอทรัพยากร ความเข้ากันได้ย้อนหลังสำหรับพ็อดเหล่านั้นก่อนหน้านี้ สร้างขึ้นจะถูกรักษาไว้เนื่องจากพ็อดที่ระบุเฉพาะการจำกัดทรัพยากร ให้คำขอทรัพยากรเป็นค่าเริ่มต้นเพื่อให้ตรงกับขีดจำกัดที่กำหนดไว้ ผู้ใช้จะถูกเรียกเก็บเงินสำหรับทรัพยากรที่พวกเขาร้องขอเท่านั้น โควต้าทรัพยากรเทียบกับขีดจำกัดเนื่องจากคำขอเป็นขั้นต่ำ จำนวนทรัพยากรที่รับประกันโดยคลัสเตอร์ระหว่างการจัดกำหนดการ สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับ over commit ดูที่ compute-resources

  • หากการสร้างพ็อดจะทำให้เนมสเปซเกินขีดจำกัดใดๆ ที่ระบุไว้ในโควตาทรัพยากรสำหรับเนมสเปซนั้น คำขอจะล้มเหลวโดยมีรหัสสถานะ HTTP 403 FORBIDDEN

  • หากเปิดใช้งานโควต้าในเนมสเปซและผู้ใช้ไม่ได้ระบุคำขอในพ็อดสำหรับทรัพยากรแต่ละรายการที่มีโควต้า เปิดใช้งานแล้ว POST ของพ็อดจะล้มเหลวโดยมีรหัสสถานะ HTTP 403 ต้องห้าม. คำแนะนำ: ใช้ตัวควบคุมการรับเข้า LimitRange เพื่อบังคับ ค่าเริ่มต้นของขีดจำกัด (จากนั้นคำขอทรัพยากรจะเท่ากับ ขีดจำกัดตามค่าเริ่มต้น ดูตัวควบคุมการรับเข้าเรียน) ก่อนที่โควต้าจะเป็น ตรวจสอบเพื่อหลีกเลี่ยงปัญหานี้


อย่างไรก็ตาม บทความขยายออกไปเล็กน้อยในกรณีที่คุณต้องแบ่งทรัพยากรแยกกัน และนี่ไม่ใช่สิ่งที่ดำเนินการไปแล้ว..

โควต้าและความจุคลัสเตอร์: บางครั้งอาจต้องการใช้นโยบายที่ซับซ้อนกว่านี้ เช่น:

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

นโยบายดังกล่าวสามารถนำไปใช้ได้โดยใช้ ResourceQuota เป็นตัวสร้าง โดยเขียน 'ตัวควบคุม' ซึ่งจะเฝ้าดูการใช้โควต้าและปรับขีดจำกัดฮาร์ดโควต้าของแต่ละเนมสเปซตามสัญญาณอื่นๆ


ฉันคาดว่าคุณต้องเขียนตรรกะที่กำหนดเองในคอนโทรลเลอร์ของตัวเอง

โปรดดูที่ วิธีบังคับให้เนมสเปซ Kubernetes มี ResourceQuotas โดยใช้ OPA

โพสต์คำตอบ

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