เมื่อกลางเดือนมีนาคมที่ผ่านมาในวันที่ 14 มีนาคมหรือวัน Pi Reddit เว็บบอร์ดยอดนิยม ล่มไปเป็นเวลา 5 ชั่วโมง (ทางเว็บระบุว่าล่มนาน 314 นาทีตรงกับหมายเลข Pi เหมือนกัน) ตอนนี้ทางเว็บก็ออกรายงานว่าเกิดอะไรขึ้นในตอนนั้น
การล่มครั้งนี้เกิดจากทีมงานอัพเกรด Kubernetes จากเวอร์ชั่น 1.23 ไปยัง 1.24 แล้วระบบล่ม โดยทีมงานค่อยๆ อัพเกรดมาแล้วหลายคลัสเตอร์ แต่วันเกิดเหตุนั้นเป็นการอัพเกรดคลัสเตอร์สำคัญที่สุด คือ ระบบ Reddit ดั้งเดิมที่มีโค้ดเก่า
หลังการสั่งอัพเกรดไปสองนาทีเว็บดับลงทันที และทีมงานพบว่าระบบเน็ตเวิร์ค (container network interface - CNI) ของคลัสเตอร์ไม่ทำงาน คอนเทนเนอร์ calico-kube-controllers ค้างอยู่ที่สถานะ ContainerCreating ทีมงานพยายามลบคอนเทนเนอร์ทิ้งเพื่อให้ Kubernetes สร้างคอนเทนเนอร์กลับขึ้นมาแต่ก็ไม่สำเร็จ จนสุดท้ายทีมงานตัดสินใจกู้ระบบจาก backup
หลังจากสอบสวนต้นตอของปัญหาครั้งนี้ ทีมงานก็พบว่าปัญหาอยู่ในคอนฟิกของ Calilco ที่ใช้ควบคุมเน็ตเวิร์ค โดยคอนฟิก BGPPeer นั้นตั้ง nodeSelector ไว้ว่าต้องเป็น Kubernetes master แต่ทาง Kubernetes ตัดสินใจเปลี่ยนชื่อจาก main เป็น control-plane ทำให้คอนฟิกไม่ทำงาน
Kubernetes ตัดสินใจเลิกใช้ว่า master เป็นชื่อโหนดมาตั้งแต่ปี 2020 เนื่องจากเป็นคำไม่เหมาะสม โดยเริ่มใช้คำว่า control-plane มาตั้งแต่เวอร์ชั่น 1.20 และในเวอร์ชั่น 1.24 ก็เลิกซัพพอร์ตคำว่า master
ที่มา - Reddit
Comments
ราานงาน -> รายงาน
ต้นต่อ => ต้นตอ
Woke กันจนเว็บพังเลย 55555
โอ้มายเทวดา
..: เรื่อยไป
If it work, don't touch it.
ดันไป touch ด้วยเหตุผล Woke จนได้เรื่อง
ว่าแต่ kubernetes 1.23 -> 1.24 นี่มีส่วน เปลี่ยนแปลงเยอะจนพัง 1.24->1.25 ก็มี deprecated เยอะอีก
Upgrade รุ่นแต่ละทีลุ้นกันเหนื่อย
❌ Upgrade
✅ ขึ้น cluster ใหม่แล้วย้ายไป
เอกสารขั้นตอนการ upgrade
lewcpe.com, @wasonliw
สาเหตุคล้าย ๆ กับตอน us พยายามใช้ metric system
UAT คืออาราย
แบบนี้มันบักชัดๆ
Get Woke, Go Broke เลยไหมล่ะ