Riduci i rischi con deployment blu/verde

Questa pagina mostra come eseguire il deployment di una nuova versione dell'app ed eseguire la migrazione il traffico da una vecchia versione a una nuova.

Push dell'app iniziale

Utilizza l'interfaccia a riga di comando Kf per eseguire il push della versione iniziale della tua app con qualsiasi route:

$ kf push app-v1 --route my-app.my-space.example.com

Push dell'app aggiornata

Utilizza l'interfaccia a riga di comando Kf per eseguire il push di una nuova versione della tua app senza route:

$ kf push app-v2 --no-route

Aggiunta di route all'app aggiornata

Utilizza l'interfaccia a riga di comando Kf per associare tutte le route esistenti all'app aggiornata con una ponderazione pari a 0 per assicurarti che non ricevano alcuna richiesta.

$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 0

Spostamento del traffico

Per iniziare a trasferire il traffico dalla vecchia app all'app aggiornata, aggiorna il i pesi nelle route.

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 80
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 20

Se il deployment procede bene, puoi spostare una quantità maggiore di traffico aggiornando i pesi di nuovo:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 50
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 50

Completamento dello spostamento del traffico

Se ritieni che il nuovo servizio non abbia introdotto regressioni, completa l'implementazione spostando tutto il traffico sulla nuova istanza:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 0
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 100

Disattivazione dell'app originale in corso...

Quando ritieni che i rollback rapidi non siano necessari, rimuovi l'originale percorso e interrompi l'app:

$ kf unmap-route app-v1 myspace.example.com --hostname my-app
$ kf stop app-v1

In alternativa, elimina l'app e tutte le mappature delle route associate:

$ kf delete app-v1