ฉันต้องการอัปเกรดคลัสเตอร์ GKE เพื่อเปิดใช้เครือข่าย VPC-Native
เพื่อสิ่งนั้น ฉันต้องสร้างคลัสเตอร์ GKE ใหม่ แม้ว่าฉันจะรู้ไม่มากก็น้อยว่าจะย้ายการปรับใช้ของฉันไปที่นั่นอย่างไร และมีกลยุทธ์ทั่วไปที่จะไม่ทำให้เกิดการหยุดชะงัก สิ่งหนึ่งที่ฉันไม่สามารถเข้าใจได้คือวิธีย้ายทราฟฟิกจากคลัสเตอร์หนึ่งไปยังอีกคลัสเตอร์หนึ่ง
ตั้งชื่อคลัสเตอร์เป็น OLD-GKE ที่ฉันต้องการย้ายออก และ NEW-GKE ที่ฉันต้องการย้ายข้อมูลไป
ฉันมี HTTP(s) ย้อนกลับการปรับใช้พร็อกซีใน OLD-GKE ที่จัดการทราฟฟิกและกระจายเพิ่มเติมไปยังบริการที่เกี่ยวข้องภายใน OLD-GKE พร็อกซีย้อนกลับนั้นมีบริการ K8s ประเภท LoadBalancer ที่เกี่ยวข้อง และใน Google Cloud IP ที่เชื่อมโยงกับ LB นั้นจะถูกทำเครื่องหมายเป็นแบบคงที่
ฉันต้องการทำซ้ำการตั้งค่าใน NEW-GKE แต่ปัญหาหนึ่งที่ฉันพบคือ NEW-GKE จะไม่สามารถสร้างบริการ LB ด้วย IP เดียวกันนั้นจนกว่า IP นั้นจะออกจากบริการ OLD-GKE
การนำบริการใน OLD-GKE ออกด้วย IP นั้นจะทำให้หยุดทำงานระหว่างการลบนั้นและจนกว่าตัวควบคุมบริการ NEW-GKE จะรับ IP และเริ่มยอมรับการรับส่งข้อมูล
ฉันรู้ บริการหลายคลัสเตอร์อย่างไรก็ตาม ส่วนใหญ่แล้วจะมีคลัสเตอร์เดียวเสมอ และฉันแค่ต้องการให้สามารถจัดการกับการเปลี่ยนแปลงได้โดยไม่ต้องหยุดทำงาน (และนั่นอาจเกิดขึ้นทุกๆ ครึ่งปีหรือมากกว่านั้น สำหรับการทดสอบสถานการณ์การกู้คืนจากความเสียหาย เป็นต้น)
ฉันกำลังพยายามหาวิธีแก้ปัญหาเพื่อย้าย Static IP ไปยังบริการ GKE LB ใหม่โดยไม่มีการหยุดทำงาน มีวิธีแก้ไขปัญหาใดบ้าง
ดีที่สุดหากสามารถทำได้โดยใช้บริการที่มีการจัดการใน GCP เพื่อให้ฉันสามารถจัดการผ่าน Terraform และทำให้เป็นอิสระจากสิ่งที่สั่ง (ไม่ว่าจะเป็นบริการ GKE หรือ VM หรืออะไรก็ตามในอนาคต)