ความจริงที่ว่าพื้นที่ทั้งหมด (/
) ปรากฏแก่คุณ ไม่ได้หมายความว่าพื้นที่นั้นว่าง/จัดสรรได้
คูเบเลต
จะตรวจสอบการใช้พื้นที่เก็บข้อมูลชั่วคราวของคุณ พ็อด
และดำเนินการตามนั้น (โดยไล่ที่ พ็อด
ที่เกินขีดจำกัด):
การจัดการการใช้พื้นที่เก็บข้อมูลชั่วคราว
หาก kubelet จัดการพื้นที่เก็บข้อมูลชั่วคราวในเครื่องเป็นทรัพยากร kubelet จะวัดพื้นที่เก็บข้อมูลที่ใช้ใน:
ว่างเปล่าผบ
ปริมาณ ยกเว้น tmpfs ว่างเปล่าผบ
ปริมาณ
- ไดเรกทอรีที่เก็บบันทึกระดับโหนด
- ชั้นคอนเทนเนอร์ที่เขียนได้
หาก Pod ใช้พื้นที่เก็บข้อมูลชั่วคราวมากกว่าที่คุณอนุญาต kubelet จะตั้งค่าสัญญาณการไล่ออกที่กระตุ้นให้ Pod ออก
-- Kubernetes.io: เอกสาร: แนวคิด: การกำหนดค่า: จัดการคอนเทนเนอร์ทรัพยากร: การใช้พื้นที่เก็บข้อมูลชั่วคราวของทรัพยากร
โปรดดูตัวอย่างด้านล่าง:
สมมติว่าคุณมีดังต่อไปนี้ พ็อด
รายการ:
api เวอร์ชัน: v1
ชนิด: ฝัก
ข้อมูลเมตา:
ชื่อ: nginx
ข้อมูลจำเพาะ:
ตู้คอนเทนเนอร์:
- ชื่อ: nginx
ภาพ: nginx
ทรัพยากร:
คำขอ:
พื้นที่เก็บข้อมูลชั่วคราว: "2Gi"
ขีด จำกัด :
พื้นที่เก็บข้อมูลชั่วคราว: "4Gi"
ขีดจำกัดที่กำหนดค่าสำหรับพื้นที่เก็บข้อมูลชั่วคราวคือ 4Gi
. หากต้องการตรวจสอบว่าจะเกิดอะไรขึ้น คุณสามารถเรียกใช้:
kubectl exec -it nginx -- fallocate -l 10GB /evict.img
ข้อสังเกต!
ผิดพลาด
ใช้เพื่อจัดการพื้นที่ดิสก์ที่จัดสรรสำหรับไฟล์ ไม่ว่าจะเพื่อจัดสรรคืนหรือจัดสรรล่วงหน้า
-- Man7.org: Linux: หน้าคน: Fallocate
หลังจากนั้นสักครู่คุณควรเห็น:
$ kubectl อธิบายถึง pod nginx
ชื่อ: nginx
เนมสเปซ: ค่าเริ่มต้น
ลำดับความสำคัญ: 0
โหนด: XYZ
เวลาเริ่ม: จันทร์ที่ 05 กรกฎาคม 2021 09:47:08 +0200
ป้ายกำกับ: <ไม่มี>
คำอธิบายประกอบ: <ไม่มี>
สถานะ: ล้มเหลว # <-- สำคัญ!
เหตุผล: ไล่ออก # <-- สำคัญ!
ข้อความ: การใช้งานที่เก็บข้อมูลในเครื่องชั่วคราวของ Pod เกินขีดจำกัดรวมของคอนเทนเนอร์ 4Gi # <-- สำคัญ!
<-- ปกปิด -->
ขีดจำกัด:
พื้นที่เก็บข้อมูลชั่วคราว: 4Gi # <-- สำคัญ!
คำขอ:
พื้นที่เก็บข้อมูลชั่วคราว: 2Gi
<-- ปกปิด -->
เหตุการณ์:
พิมพ์อายุเหตุผลจากข้อความ
---- ------ ---- ---- -------
ตัวกำหนดตารางเวลาเริ่มต้น 32s ตามกำหนดเวลาปกติ กำหนดค่าเริ่มต้น/nginx ให้กับ XYZ สำเร็จแล้ว
การดึงปกติ 31s kubelet การดึงอิมเมจ "nginx"
ปกติดึง 31s kubelet ดึงภาพ "nginx" สำเร็จใน 360.098619ms
ปกติสร้าง 31s kubelet สร้างคอนเทนเนอร์ nginx
ปกติ 31 วินาทีที่เริ่มต้น kubelet คอนเทนเนอร์ที่เริ่มต้น nginx
คำเตือน Evicted 3s kubelet Pod การใช้พื้นที่เก็บข้อมูลชั่วคราวในตัวเครื่องเกินขีดจำกัดรวมของคอนเทนเนอร์ 4Gi # <-- สำคัญ!
Normal Killing 3s kubelet การหยุดคอนเทนเนอร์ nginx # <-- สำคัญ!
สถานะพร้อมชื่อเริ่มอายุใหม่
nginx 0/1 ถูกไล่ออก 0 9m7s
แหล่งข้อมูลเพิ่มเติม: