สวัสดี
ฉันประสบปัญหาขณะพยายามปรับใช้พ็อดที่ได้รับการกำหนดค่าให้ใช้ Persistent Volumeการติดตั้งของฉันโฮสต์บน Hetzner Cloud และ Kubernetes ได้รับการกำหนดค่าตามคำแนะนำที่มีให้โดยผู้ให้บริการ การกำหนดค่าพื้นฐานดูเหมือนจะใช้ได้เนื่องจากฉันสามารถปรับใช้เช่น Portainer จากหนึ่งในรายการที่ให้มา: ติดตั้ง PVC อย่างถูกต้องและวิ่ง เนื่องจากการกำหนดค่าเริ่มต้นไม่ได้สร้างที่เก็บข้อมูลถาวร ทุกครั้งที่ฉันยกเลิกการปรับใช้และปรับใช้ Portainer ใหม่ ข้อมูลทั้งหมดจะสูญหาย
ดังนั้นฉันจึงดำเนินการสร้าง PersistentVolume
แต่ขั้นตอนสุดท้ายไม่ได้ผล ฉันไม่สามารถบอกได้ว่าปัญหาเป็นปัญหาทั่วไปของ Kubernetes หรือเกิดจากการผสานรวมกับ Hetzner แต่ฉันคิดว่ามันสมเหตุสมผลที่จะตรวจสอบสมมติฐานแรกก่อน ดังนั้นฉันจึงถามที่นี่ก่อนที่จะไปที่ฟอรัม Hetzner
ขั้นตอน:
ฉันสร้างไดรฟ์ข้อมูลโดยใช้อินเทอร์เฟซผู้ใช้ Hetzner Cloud
จากนั้นฉันก็ปรับใช้ PV:
api เวอร์ชัน: v1
ชนิด: เนมสเปซ
ข้อมูลเมตา:
ชื่อ: คนขนของ
---
api เวอร์ชัน: v1
ชนิด: PersistentVolume
ข้อมูลเมตา:
ชื่อ: pv-portainer-test
เนมสเปซ: porttainer
ป้ายกำกับ:
สภาพแวดล้อม: ทดสอบ
ข้อมูลจำเพาะ:
storageClassName: การทดสอบ porttainer
โหมดการเข้าถึง:
- ReadWriteOnce
ความจุ:
ความจุ: 10Gi
PersistentVolumeReclaimPolicy: เก็บรักษา
VolumeMode: ระบบไฟล์
ซีเอสไอ:
ไดรเวอร์: csi.hetzner.cloud
fsประเภท: ext4
VolumeHandle: "pv_id"
pv_id
เป็นรหัสไดรฟ์ข้อมูลที่ฉันเห็นได้จากอินเทอร์เฟซผู้ใช้ของ Hetzner
ได้ดูพีวีด้วย kubelet รับ pv -A
:
NAMESPACE NAME ความจุ โหมดการเข้าถึง เรียกคืนสถานะนโยบาย การอ้างสิทธิ์ที่เก็บข้อมูลอายุเหตุผลของชั้นเรียน
การทดสอบปริมาณคงที่ / pv-portainer-test 10Gi RWO รักษาการทดสอบ porttainer-test ที่ใช้ได้ 71 วินาที
โปรดทราบว่าเนมสเปซยังไม่ได้กำหนด... แต่ฉันคิดว่านี่ไม่ใช่ปัญหาร้ายแรง บางทีฉันอาจจะผิด
- ฉันปรับใช้ Portainer จาก ที่นี่ และแพตช์ต่อไปนี้â
ประเภท: PersistentVolumeClaim
api เวอร์ชัน: v1
ข้อมูลเมตา:
ชื่อ: คนขนของ
เนมสเปซ: porttainer
ข้อมูลจำเพาะ:
storageClassName: การทดสอบ porttainer
โหมดการเข้าถึง:
- ReadWriteOnce
ทรัพยากร:
คำขอ:
ที่เก็บข้อมูล: "10Gi"
ตอนนี้กับ kubectl รับ pvc,pv -A
ฉันเห็นว่า PVC ถูกผูกไว้กับ PV:
âNAMESPACE NAME สถานะ VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
portainer ถาวรvolumeclaim/portainer ขอบเขต pv-portainer-test 10Gi RWO portainer-test 16m
NAMESPACE NAME ความจุ โหมดการเข้าถึง เรียกคืนสถานะนโยบาย การอ้างสิทธิ์ที่เก็บข้อมูลอายุเหตุผลของชั้นเรียน
peristentvolume/pv-portainer-test 10Gi RWO Retain Bound portainer/portainer portainer-test 17m
- แต่ Portainer pod อยู่ใน
การสร้างคอนเทนเนอร์
สถานะตลอดไปâด้วย kubectl อธิบาย
ฉันเห็นเหตุผล:
คำเตือน FailedAttachVolume 2s (x7 over 38s) Attachdetach-controller AttachVolume.Attach ล้มเหลวสำหรับวอลุ่ม "pv-portainer-test": ข้อผิดพลาด rpc: code = FailedPrecondition desc = ล้มเหลวในการเผยแพร่วอลุ่ม: วอลุ่มถูกแนบ
ดูเหมือนว่ามันจะบ่นเพราะติด PV ไว้แล้ว... แต่จริงๆ มันควรจะติดเข้ากับพ็อดนั้นพอดี