มีคำขอหน่วยความจำเริ่มต้นและ \ หรือขีด จำกัด สำหรับ pods \ container ใน k8s \ openshift หรือไม่

Jan 24 2021

Hallo เพื่อน DevOps คน

ฉันกำลังพยายามทำความเข้าใจว่าคำขอเป็นฐานและ \ หรือขีด จำกัด ต่อ pod \ container ใน k8s หรือ Openshift อย่างที่เป็นอยู่ในปัจจุบันหรือหากคุณทราบถึงการเปลี่ยนแปลงในอนาคตเกี่ยวกับสิ่งนั้น

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

ขณะนี้ใช้งานคลัสเตอร์ openshift 3.11.16 ขององค์กรและในไม่ช้าก็โอนไปที่ 4.6.4 ดังนั้นคำถามของฉันจึงเกี่ยวกับการใช้งานการสร้างของ RedHat ที่ด้านบนของ k8 เริ่มต้น (Openshift)

มีคำขอพื้นฐานหรือค่าขีด จำกัด สำหรับ container \ pod หรือไม่?

แก้ไข: มีวิธีที่ k8s หรือ openshift ทำนายคำขอหน่วยความจำคอนเทนเนอร์โดยภาษาการพัฒนาแอปพลิเคชันหรือตัวแปรสภาพแวดล้อมที่ตั้งค่าสำหรับการปรับใช้ (เช่นจากคำสั่ง java container RUN หรือ env: JVM_OPTS -Xms1G -Xmx1G)

คำตอบ

2 VasiliAngapov Jan 24 2021 at 01:15

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

ตามความหมายของพ็อด BestEffort คือ "สำหรับพ็อดที่จะได้รับคลาส QoS ของ BestEffort คอนเทนเนอร์ในพ็อดจะต้องไม่มีขีด จำกัด ของหน่วยความจำหรือ CPU หรือคำขอใด ๆ " พ็อด BestEffort มีลำดับความสำคัญต่ำสุดสำหรับตัวกำหนดตารางเวลา Kubernetes และสามารถขับไล่ได้ในกรณีที่มีการโต้แย้งด้านทรัพยากร

ทั้งหมดที่กล่าวมาเป็นจริงสำหรับการแจกแจง Kubernetes ทั้งหมดรวมถึง OpenShift

1 StavBernaz Feb 04 2021 at 05:31

ไม่มีขีด จำกัด เริ่มต้นหรือคำขอ ในการกำหนดค่ารีซอร์สเริ่มต้นคุณควรสร้างทรัพยากร LimitRange ตามที่อธิบายไว้ที่นี่:https://docs.openshift.com/container-platform/3.11/dev_guide/compute_resources.html#dev-viewing-limit-ranges

หากคุณต้องการให้สร้างโปรเจ็กต์ใหม่ทุกโปรเจ็กต์โดยมีขีด จำกัด ทรัพยากรบางอย่างคุณสามารถปรับเปลี่ยนเทมเพลตโปรเจ็กต์เริ่มต้นได้ตามที่อธิบายไว้ที่นี่ https://docs.openshift.com/container-platform/3.11/admin_guide/managing_projects.html#modifying-the-template-for-new-projects

สิ่งนี้ไม่เปลี่ยนแปลงใน 4.6 เช่นกันเฉพาะการใช้งานวิธีแก้ไข LimitRange หรือเทมเพลตโปรเจ็กต์เริ่มต้น (วิธีการเหมือนกันทุกประการ)

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