aggiornamenti in sequenza.

Apigee hybrid supporta due tipi di aggiornamenti. Il primo è un aggiornamento in loco in cui applichi una modifica alla configurazione e il processo ibrido avvia un rolling di Kubernetes aggiorna. In Kubernetes, gli aggiornamenti in sequenza consentono di eseguire gli aggiornamenti del deployment senza di inattività aggiornando in modo incrementale le istanze dei pod con nuove istanze.

Apigee hybrid supporta anche un aggiornamento in stile canary o AB. In un aggiornamento AB, la nuova revisione viene eseguito il deployment. ma inizialmente una piccola percentuale di traffico viene indirizzata al sito. Nel tempo, questo aumenta fino a quando tutto il traffico non va alla revisione.

Aggiornamenti in loco

Per attivare un aggiornamento in loco, è sufficiente modificare le impostazioni desiderate nel file degli override e applicare al cluster. Ad esempio, supponi di voler modificare l'attuale runtime memoria da 1Gi a 5Gi:

Ecco la configurazione iniziale:

...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 1Gi
...

Nella nuova configurazione, la memoria viene modificata in 5Gi:

...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 5Gi
...

Quando applichi la modifica, i pod aggiornati vengono avviati e sostituiscono quelli esistenti. A causa di la funzionalità di aggiornamento in sequenza di Kubernetes, i client non hanno tempi di inattività.

Come eseguire un aggiornamento di un AB

Per eseguire un aggiornamento AB, utilizza il tag revision nel file degli override. Ad esempio, supponi di voler cambiare la memoria corrente di runtime da 1Gi a 5Gi:

Nella configurazione attuale, revision è impostato su blue:

...
revision: blue
...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 1Gi
...

Nella nuova configurazione, se cambi revision in green, segnali eseguire un aggiornamento in sequenza quando la modifica viene applicata. Il valore impostato revision non ha importanza; puoi puoi utilizzare la stringa che desideri, purché tu la modifichi dal valore precedente a qualcos'altro.

...
revision: green
...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 5Gi
...

Quando applichi la modifica, una piccola percentuale di traffico alla nuova revisione. Nel tempo, più traffico viene indirizzato alla nuova revisione fino a raggiungere il 100%. A quel punto, la revisione precedente viene eliminato.

Per attivare un'implementazione AB, aggiungi il tag revision se non è presente. oppure modifica il valore del tag revision se è già presente. Stai Non è necessario apportare altre modifiche al file degli override per attivare un'implementazione AB.

Nella tabella seguente è riportata la pianificazione di un'implementazione AB:

Fase Percentuale di traffico Tempo di attesa
1 5% 60 secondi
2 20% 10 secondi
3 100% 10 secondi

Nella versione corrente, le percentuali e i tempi di attesa non sono configurabili.