Aș dori să-mi fac upgrade cluster-ul GKE pentru a activa rețeaua nativă VPC.
Pentru asta, am nevoie să creez un nou cluster GKE. Deși știu mai mult sau mai puțin cum să-mi migrez propriile implementări acolo și am o strategie generală pentru a nu face o întrerupere, un lucru pe care nu-l pot înțelege este cum să migrez traficul de la un cluster la altul.
Să etichetăm clusterele ca OLD-GKE unul din care vreau să migrez și NEW-GKE către care vreau să migrez.
am un HTTP(e) implementarea proxy inversă în OLD-GKE care gestionează traficul și îl distribuie în continuare către serviciile respective din OLD-GKE. Acest proxy invers are asociat serviciul K8s de tip LoadBalancer, iar în Google Cloud, IP-ul asociat cu acel LB este marcat ca static.
Aș dori să reproduc configurarea în NEW-GKE, dar o problemă cu care mă confrunt este că NEW-GKE nu va putea crea Serviciul LB cu același IP până când IP-ul este eliberat de serviciul OLD-GKE.
Eliminarea serviciului din OLD-GKE cu acel IP va cauza un timp de nefuncționare între acea eliminare și până când controlerul de serviciu NEW-GKE preia IP-ul și începe să accepte trafic.
Sunt conștient de Servicii multi-cluster, cu toate acestea, cel mult va exista întotdeauna un singur cluster și vreau doar să pot face față tranziției fără timp de nefuncționare (și asta s-ar putea întâmpla la fiecare jumătate de an sau cam așa ceva, doar pentru testarea scenariilor de recuperare în caz de dezastru, de exemplu).
Încerc să găsesc o soluție pentru migrarea IP statică la un nou serviciu GKE LB fără timp de nefuncționare, care sunt soluțiile disponibile la această problemă?
Cel mai bine ar putea fi făcut folosind servicii gestionate în GCP, astfel încât să le pot gestiona prin terraform și să fac asta independent de ceea ce este îndreptat (fie este vorba de servicii GKE, sau VM sau orice altceva în viitor).