Score:1

ฉันจะกำหนดค่าคลาสพื้นที่เก็บข้อมูลบนคลัสเตอร์ k0s ที่มีอยู่ได้อย่างไร

ธง cn

เมื่อฉันวิ่ง kos kubectl รับ storageclass ฉันสังเกตเห็นว่าไม่ได้จัดเตรียมไว้และฉันต้องเพิ่มด้วยตนเอง ฉันไม่แน่ใจเล็กน้อยเกี่ยวกับขั้นตอนที่แน่นอน [Documentation][https://docs.k0sproject.io/main/storage/] บอกว่า k0s มาพร้อมกับ OpenEBS ที่ติดตั้งไว้ สิ่งที่ฉันไม่แน่ใจคือวิธีการ เปิดใช้งานส่วนขยายนี้ ในไฟล์คอนฟิก

ไฟล์ปรับแต่งที่มีอยู่ของฉันมีเพียงสิ่งนี้ (ฉันคิดว่านี่ควรเป็นไฟล์กำหนดค่าเริ่มต้น ถูกต้องหรือไม่):

ข้อมูลจำเพาะ:
  API:
    ที่อยู่ภายนอก

ฉันวิ่งแล้ว k0s หยุด จากนั้นแก้ไขไฟล์คอนฟิกดังนี้:

ข้อมูลจำเพาะ:
  API:
    ที่อยู่ภายนอก
  ส่วนขยาย:
    พื้นที่จัดเก็บ:
      ประเภท: openebs_local_storage

หลังจากการเปลี่ยนแปลงการกำหนดค่านี้ ฉันยังคงได้รับข้อผิดพลาดเดียวกัน ไม่พบคลาสการจัดเก็บสำหรับคลัสเตอร์ ฉันจำเป็นต้องติดตั้งใหม่/ติดตั้ง k0s หรือไม่ ฉันค่อนข้างไม่แน่ใจเพราะ k0s.yaml ที่มีอยู่ดูเหมือนจะมีพารามิเตอร์การกำหนดค่าน้อยมากเมื่อเทียบกับตัวอย่างที่ให้ไว้ในลิงก์

แก้ไข: ใช้ เอกสาร ฉันได้ดำเนินการสร้าง k0s.yaml ใหม่ที่ใช้การตั้งค่าเริ่มต้นที่มีอยู่แล้ว ปรากฎว่ามันเขียนทับ k0s.yaml ที่มีอยู่ (ระบุไว้ด้านบน) : ฉันได้เปลี่ยนแปลงไฟล์ yaml ใหม่เพื่อสร้างสิ่งนี้ด้วย:

apiVersion: k0s.k0sproject.io/v1beta1
ชนิด: ClusterConfig
ข้อมูลเมตา:
  การสร้างการประทับเวลา: null
  ชื่อ:k0s
ข้อมูลจำเพาะ:
  API:
    ที่อยู่: 10.XXX.XXX.XXX
    k0sApiPort: 9443
    พอร์ต: 6443
    ซอง:
    - 10.XX.XX.XXX
    - 172.XX.XX.XXX
    - 10.XX.XX.XXX
    - 10.XX.XX.XXX
    - fe80::XXX:XXX:XXX:XXX
    - fe80::XXX:XXX:XXX:XXX
    - fe80::XXX:XXX:XXX:XXX
    - fe80::XXX:XXX:XXX:XXX
    - fe80::XXX:XXX:XXX:XXX
    - fe80::XXX:XXX:XXX:XXX
    tunneledNetworkingMode: เท็จ
  ตัวจัดการคอนโทรลเลอร์: {}
  นามสกุล:
    หางเสือ:
      แผนภูมิ: null
      ที่เก็บ: null
    พื้นที่จัดเก็บ:
      create_default_storage_class: จริง
      ประเภท: openebs_local_storage
  ภาพ:
    ผ้าดิบ:
      ซีเนียร์:
        ภาพ: docker.io/calico/cni
        รุ่น: v3.21.2
      ตัวควบคุม kube:
        ภาพ: docker.io/calico/kube-controllers

หลังจากการเปลี่ยนแปลงนี้ ฉันดำเนินการติดตั้งคลัสเตอร์ใหม่ (ด้วยการกำหนดค่าใหม่):

k0s ติดตั้งคอนโทรลเลอร์ -c /etc/k0s/k0s.yaml

แต่ตอนนี้ฉันได้รับข้อผิดพลาด:

ข้อผิดพลาด: ล้มเหลวในการติดตั้งบริการ k0s: ล้มเหลวในการติดตั้งบริการ: มีอยู่แล้ว: /etc/systemd/system/k0scontroller.service
br flag
โปรดให้รายละเอียดเพิ่มเติมเกี่ยวกับปัญหาของคุณเพื่อทำซ้ำ - คุณใช้ k0s บนคลาวด์ใด ๆ หรือบน Bare Metal
cn flag
เซิร์ฟเวอร์ Bare Metal Debian 10
cn flag
ฉันทำตามคำแนะนำนี้ https://techviewleo.com/deploy-kubernetes-cluster-on-debian-using-k0s/
cn flag
@anarxz คำแนะนำคือการทำ sudo systemctl restart k0scontroller ฉันได้รันคำสั่งนี้แล้ว แต่ยังคง k0s kubectl รับ storageclass คืนค่า ไม่พบทรัพยากร
Score:1
ธง br

เราสามารถจำลองปัญหาของคุณได้ - หากต้องการติดตั้งคลัสเตอร์อีกครั้งด้วยการกำหนดค่าใหม่สำหรับพื้นที่จัดเก็บ OpenEBS คุณจะต้องล้างข้อมูลการตั้งค่าก่อนหน้านี้:

  1. หยุดบริการ k0s
sudo k0s หยุด
  1. รีเซ็ตการติดตั้งก่อนหน้านี้ที่ทำโดยไม่มีไฟล์กำหนดค่าที่คุณกำหนดเอง:
sudo k0s รีเซ็ต
  1. ติดตั้ง k0s อีกครั้งด้วยไฟล์ปรับแต่งใหม่ของคุณและด้วย --เปิดใช้งาน-คนงาน ตั้งค่าสถานะ -> เพื่อให้โหนดเดี่ยว k0s พร้อมคอนโทรลเลอร์และฟังก์ชันผู้ปฏิบัติงานได้รับการติดตั้งอีกครั้ง:
sudo k0s ติดตั้งคอนโทรลเลอร์ --enable-worker -c /etc/k0s/k0s.yaml
  1. เริ่มบริการ k0s:
sudo k0s เริ่มต้น
  1. หลังจากผ่านไปสองสามวินาที ให้ตรวจสอบว่ามีการเปิดใช้งานคลาสพื้นที่เก็บข้อมูลสองคลาสบนคลัสเตอร์เพื่อให้คุณใช้:
sudo k0s kubectl รับ storageclass

คลาสการจัดเก็บจะมี VolumeBindingMode: WaitForFirstConsumer - หมายความว่ามีการหน่วงเวลาสำหรับการรวมไดรฟ์ข้อมูลจนกว่าจะมีการกำหนดแอปพลิเคชันพ็อดบนโหนด

cn flag
รับทราบ ขอบคุณ ฉันยังอยู่ระหว่างการแก้ไขปัญหา ให้ฉันดำเนินการต่อไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา