Score:1

จะทำการโยกย้ายสดจากผ้าสักหลาดเป็นผ้าดิบบนคลัสเตอร์ kubernetes โหนดเดียวได้อย่างไร

ธง fr

ฉันกำลังพยายามย้ายจากผ้าสักหลาดเป็นผ้าดิบในคลัสเตอร์ k8sฉันสามารถทำได้สำเร็จใน 3 โหนดคลัสเตอร์ การโยกย้ายสดจากผ้าสักหลาดเป็นผ้าดิบกำลังทำงานตามที่อธิบายไว้ใน เอกสาร.

แต่ไม่รองรับการย้ายจากผ้าสักหลาดเป็นผ้าดิบบนคลัสเตอร์ k8s โหนดเดียว ปัญหานี้.

ฉันต้องทำการโยกย้ายแบบสดจากผ้าสักหลาดเป็นผ้าดิบบนโหนดเดียว ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีการได้รับการชื่นชม

p10l avatar
us flag
มีการระบุอย่างชัดเจนว่า "ตัวควบคุมการย้าย Flannel จะต้องทำงานบนโหนดซึ่งไม่ได้กำลังย้ายข้อมูลอยู่ในขณะนี้ มันจะไม่ทำงานบนคลัสเตอร์โหนดเดียว" ในปัญหานี้ ยังมีวิธีแก้ปัญหาที่เป็นไปได้ที่โพสต์ - "สิ่งหนึ่งที่คุณอาจลองได้คือเปิดใช้โหนดที่สองในช่วงระยะเวลาของการอัปเกรด จากนั้นลดขนาดกลับเป็น 1"
fr flag
ใช่ ฉันไม่ได้วางแผนที่จะทำกิจกรรมนี้กับงานการย้ายข้อมูลตามที่กล่าวไว้ในเอกสาร ฉันต้องการดำเนินการนี้ด้วยตนเอง อาจเขียนตรรกะการย้ายข้อมูลของตัวเอง การเพิ่มโหนดอื่นในคลัสเตอร์และการลดขนาดลงเป็น 1 ไม่ใช่ตัวเลือกที่เป็นไปได้สำหรับฉัน ฉันต้องทำในโหนดเดียว
p10l avatar
us flag
ณ จุดนี้ ทำไมไม่เพียงแค่สร้างคลัสเตอร์ใหม่ด้วยผ้าดิบและย้ายทรัพยากรไปที่คลัสเตอร์
fr flag
ขอบคุณสำหรับข้อเสนอแนะ ฉันจะต้องสร้างคลัสเตอร์ใหม่ด้วย Calico และนั่นต้องใช้งานได้ดี เราต้องสนับสนุนการย้ายแบบสดของโหนดเดียว เนื่องจากเราไม่ต้องสูญเสียข้อมูลที่มีอยู่
Score:1
ธง us

ตามที่คุณทราบแล้ว การย้าย Flannel ไปยัง Calico บนคลัสเตอร์โหนดเดียวไม่ได้รับการสนับสนุนนี่เป็นเพราะตัวควบคุมการย้าย Flannel ต้องมีการกำหนดเวลาบนโหนดที่ไม่ได้กำลังย้าย ซึ่งเป็นไปไม่ได้ในคลัสเตอร์โหนดเดียว

สิ่งนี้สามารถแก้ไขได้โดยการสร้างโหนดที่สองชั่วคราว และลดขนาดกลับเป็น 1 หลังจากการย้ายข้อมูลเสร็จสิ้น

วิธีอื่นคือสร้างคลัสเตอร์ใหม่ทั้งหมด ติดตั้ง Calico และย้ายทรัพยากรจากคลัสเตอร์เก่าไปยังคลัสเตอร์ใหม่

เป็นทางเลือกสุดท้าย คุณสามารถลองถอนการติดตั้ง Flannel ด้วยตนเอง และติดตั้ง Calico แทน


คำเตือน: ทั้งหมดด้านล่างอาจไม่ทำงานตามที่ต้องการ เห็นได้ชัดว่า Flannel หรือ Calico ไม่สนับสนุนการทำสิ่งนี้ด้วยวิธีนี้ อาจเสียหายและทำให้คลัสเตอร์ของคุณใช้งานไม่ได้ ลองใช้โซลูชันนี้ในสภาพแวดล้อมการทดสอบก่อน ปรับให้เข้ากับ env ของคุณ แล้วจึงลองใช้กับผลิตภัณฑ์
คุณได้รับการเตือน.


  1. ลบ Flannel ด้วย kubectl ลบ -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  2. SSH ลงในโหนดของคุณ
  3. หยุดให้บริการ kubelet systemctl หยุด kubelet
  4. หยุดคอนเทนเนอร์ systemctl หยุดคอนเทนเนอร์ หากใช้เป็นคอนเทนเนอร์รันไทม์ (แทนที่ด้วยนักเทียบท่าหากใช้ Docker Engine)
  5. ลบไดเร็กทอรีที่เกี่ยวข้องกับ CNI
    rm -rf /var/lib/cni
    rm -rf /run/สักหลาด
    rm -rf /etc/cni
    
  6. ค้นหาอินเทอร์เฟซที่เกี่ยวข้องกับ CNI/Flannel และลบออก
    ลิงค์ไอพี
    
    สำหรับแต่ละอินเทอร์เฟซให้ทำดังนี้
    ifconfig <ชื่ออินเทอร์เฟซจาก ip link> ลง
    ip link ลบ <ชื่ออินเตอร์เฟสจาก ip link>
    
  7. รีสตาร์ทรันไทม์ของคอนเทนเนอร์
  8. รีสตาร์ท kubelet
  9. ติดตั้ง Calico เช่นเดียวกับที่คุณทำในคลัสเตอร์ใหม่
Wytrzymały Wiktor avatar
it flag
สวัสดี @Siddharood และยินดีต้อนรับสู่ ServerFault! โปรดอย่าลืม[ตอบกลับคำตอบสำหรับคำถามของคุณ](https://stackoverflow.com/help/someone-answers) วิธีนี้ทำให้เรารู้ว่าคำตอบนั้นมีประโยชน์หรือไม่ และสมาชิกชุมชนคนอื่นๆ ก็ได้รับประโยชน์จากคำตอบนั้นเช่นกัน พยายาม[ยอมรับคำตอบ](https://stackoverflow.com/help/accepted-answer) ซึ่งเป็นทางออกสุดท้ายสำหรับปัญหาของคุณ โหวตคำตอบที่เป็นประโยชน์ และแสดงความคิดเห็นเกี่ยวกับคำตอบที่ควรปรับปรุงหรือต้องให้ความสนใจเพิ่มเติม เพลิดเพลินไปกับการพักผ่อนของคุณ!
fr flag
@ p10l ขอบคุณสำหรับคำแนะนำ ฉันทำตามขั้นตอนส่วนใหญ่ของคุณ ฉันเบี่ยงเบนไปจากขั้นตอนที่กล่าวถึง ฉันกำลังโพสต์คำตอบด้านล่างซึ่งใช้ได้ผลสำหรับฉัน
Score:0
ธง fr

ด้านล่างนี้เป็นขั้นตอนที่ใช้ได้สำหรับฉันในขณะที่ย้ายจากผ้าสักหลาดเป็นผ้าดิบ ฉันทำตามขั้นตอนส่วนใหญ่ที่กล่าวถึงในคำตอบ @ p1ol

  1. ลบสักหลาด

  2. หยุด Kubelet

  3. นำอินเทอร์เฟซ ifconfig ลงและลบ ผ้าสักหลาดที่เกี่ยวข้องกับลิงค์ ip

  4. รีสตาร์ท Kubelet

  5. ติดตั้งผ้าดิบ

การติดตั้ง Calico ไม่ได้สร้าง calico-node pod และ calico-kube-controllers-** pod ติดอยู่ในสถานะเริ่มต้นของ pod หรือสถานะการสร้างคอนเทนเนอร์

ฉันอ้างถึง บล็อก โดยที่แนะนำให้อัปเดต calico yaml สำหรับช่วง CIDR และฉันต้องกำหนดค่า IP_AUTODETECTION_METHOD ตามที่แนะนำ ที่นี่

ในตอนท้าย ฉันได้รีสตาร์ทโหนดของฉัน

โพสต์คำตอบ

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