Rulez o aplicație b2b pe un cluster GKE (1 pool, 2 noduri).
Sunt noduri normale, deoarece timpul de funcționare este critic
Cu toate acestea, am creat un pool secundar cu VM Spot cu mașini mai puternice, dar vreau să permit lui kubernetes să-l folosească numai în scopuri de scalare.
Să luăm acest exemplu:
- starea curenta - pool-ul implicit: app-1 (3 replici)
- stat dorit
- pool-ul implicit: app-1 (3 replici)
- spot-piscina: app-1 (încă 5 replici)
Vreau să le ofer clienților mei un mic impuls în performanță, fără a-mi face griji cu privire la timpul de funcționare.
PS. în prezent pe un cluster de testare, după ce a adăugat Spot-pool, GKE a decis să mute acolo întreaga aplicație (nu aveam un nodeselector) și am ajuns cu pool-ul implicit (doar servicii de sistem) și spot-piscina cu aplicația mea
LE. Poate am găsit o modalitate de a o face, dar mi se pare puțin complicat
- implementați aplicația inițială pe pool-ul implicit folosind nodeSelector
- creați o implementare clonă pentru aceeași aplicație, utilizați nodeSelector pentru a o face să folosească spot-piscina și scalați-l la replicile necesare
- utilizare adnotare canar de intrare kubernetes pentru a direcționa traficul
- Nu e prost daca merge :D
Rezultat la curl consecutiv
Nume gazdă: nginx-app-6f5db95856-xm8nk
Nume gazdă: replica-app-5658bddc5d-jpqwp
Nume gazdă: replica-app-5658bddc5d-jpqwp
Nume gazdă: nginx-app-6f5db95856-xm8nk
Nume gazdă: nginx-app-6f5db95856-xm8nk
Nume gazdă: nginx-app-6f5db95856-xm8nk
Nume gazdă: replica-app-5658bddc5d-jpqwp
Nume gazdă: replica-app-5658bddc5d-jpqwp
Nume gazdă: replica-app-5658bddc5d-jpqwp
Nume gazdă: nginx-app-6f5db95856-xm8nk
Nume gazdă: nginx-app-6f5db95856-xm8nk
Nume gazdă: replica-app-5658bddc5d-jpqwp
Nume gazdă: nginx-app-6f5db95856-xm8nk