มีคำขอหน่วยความจำเริ่มต้นและ \ หรือขีด จำกัด สำหรับ pods \ container ใน k8s \ openshift หรือไม่
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)
คำตอบ
โดยค่าเริ่มต้นจะไม่มีการร้องขอทรัพยากรหรือข้อ จำกัด ซึ่งหมายความว่าทุกฝักจะถูกสร้างขึ้นโดยใช้BestEffort QoS หากคุณต้องการเป็นค่าเริ่มต้นกำหนดค่าสำหรับการร้องขอและข้อ จำกัด ที่คุณควรจะใช้LimitRange
ตามความหมายของพ็อด BestEffort คือ "สำหรับพ็อดที่จะได้รับคลาส QoS ของ BestEffort คอนเทนเนอร์ในพ็อดจะต้องไม่มีขีด จำกัด ของหน่วยความจำหรือ CPU หรือคำขอใด ๆ " พ็อด BestEffort มีลำดับความสำคัญต่ำสุดสำหรับตัวกำหนดตารางเวลา Kubernetes และสามารถขับไล่ได้ในกรณีที่มีการโต้แย้งด้านทรัพยากร
ทั้งหมดที่กล่าวมาเป็นจริงสำหรับการแจกแจง Kubernetes ทั้งหมดรวมถึง OpenShift
ไม่มีขีด จำกัด เริ่มต้นหรือคำขอ ในการกำหนดค่ารีซอร์สเริ่มต้นคุณควรสร้างทรัพยากร 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 ซึ่งสามารถเปลี่ยนทรัพยากรการทำให้ใช้งานได้โดยอัตโนมัติโดยการใช้ประโยชน์และอาจมีเมตริกที่กำหนดเอง