ฉันใช้ Rancher local allocationer และมีข้อกำหนดสำหรับการสร้างที่เก็บข้อมูลในเครื่องบนโหนดทั้งหมด ฉันใช้ local-path-storage.yaml เพื่อจัดเตรียมคอนโทรลเลอร์ คลาสพื้นที่เก็บข้อมูล ฯลฯ
ฉันสร้าง PVC ตามด้านล่าง
api เวอร์ชัน: v1
ชนิด: PersistentVolumeClaim
ข้อมูลเมตา:
ชื่อ: local-path-pvc
ข้อมูลจำเพาะ:
โหมดการเข้าถึง:
- ReadWriteOnce
VolumeMode: ระบบไฟล์
ทรัพยากร:
คำขอ:
ความจุ: 2Gi
storageClassName: เส้นทางท้องถิ่น
ฉันเห็นว่า PV ด้านล่างถูกสร้างขึ้นโดยอัตโนมัติ:
api เวอร์ชัน: v1
รายการ:
- api เวอร์ชัน: v1
ชนิด: PersistentVolume
ข้อมูลเมตา:
คำอธิบายประกอบ:
pv.kubernetes.io/provisioned-by: rancher.io/local-path
การสร้างการประทับเวลา: "2022-05-01T19:00:08Z"
ผู้เข้ารอบสุดท้าย:
- kubernetes.io/pv-protection
ชื่อ: pvc-8b96804e-06f7-4e5c-a7e5-ace8564fe053
ทรัพยากรเวอร์ชัน: "1958451"
รหัส: b9cbd171-146b-4963-934b-b5815d522a5f
ข้อมูลจำเพาะ:
โหมดการเข้าถึง:
- ReadWriteOnce
ความจุ:
ความจุ: 2Gi
การอ้างสิทธิ์อ้างอิง:
api เวอร์ชัน: v1
ชนิด: PersistentVolumeClaim
ชื่อ: local-path-control-pvc
เนมสเปซ: ระบบของฉัน
ทรัพยากรเวอร์ชัน: "1958366"
รหัส: 8b96804e-06f7-4e5c-a7e5-ace8564fe053
เส้นทางโฮสต์:
เส้นทาง: /opt/data/pvc-8b96804e-06f7-4e5c-a7e5-ace8564fe053_my-system_local-path-control-pvc
ประเภท: DirectoryOrCreate
ความเกี่ยวข้องของโหนด:
ที่จำเป็น:
nodeSelectorเงื่อนไข:
- การจับคู่นิพจน์:
- รหัส: kubernetes.io/hostname
ผู้ดำเนินการ: ใน
ค่า:
- มาสเตอร์ 0
PersistentVolumeReclaimPolicy: ลบ
storageClassName: เส้นทางท้องถิ่น
VolumeMode: ระบบไฟล์
สถานะ:
เฟส:ผูกพัน
PVC เชื่อมโยงกับชุดภูต 2 ชุดที่แตกต่างกัน อันหนึ่งปรับใช้พ็อดกับมาสเตอร์และอีกอันปรับใช้กับโหนดของผู้ปฏิบัติงานทั้งหมด การอ้างอิงจะถูกส่งผ่านดังนี้
ข้อมูลจำเพาะ:
ตู้คอนเทนเนอร์:
ปริมาณ:
-ชื่อ: ทดสอบ
ถาวรVolumeClaim:
ชื่อการอ้างสิทธิ์: local-path-pvc
คำถามคือจากข้างต้น PV ถูกสร้างขึ้นโดยอัตโนมัติและ nodeAffinity จะเชื่อมโยงกับมาสเตอร์เท่านั้น หากฉันลบการอ้างอิง PVC ออกจากการปรับใช้หลัก ผู้ปฏิบัติงานเพียงคนเดียวเท่านั้นที่ได้รับ PV และไม่ใช่ผู้ปฏิบัติงานทั้งหมด
ฉันจะมั่นใจได้อย่างไรว่าโหนดทั้งหมดได้รับ PV ในเครื่องเมื่อพ็อดปรากฏขึ้น
ขอบคุณ,
/ม