Apigee hybrid supporta gli aggiornamenti in sequenza. In Kubernetes, gli aggiornamenti in sequenza consentono di eseguire gli aggiornamenti del deployment senza tempi di inattività aggiornando in modo incrementale le istanze dei pod con nuove.
Componenti che supportano gli aggiornamenti in sequenza
Se modifichi le impostazioni delle proprietà per qualsiasi ibrido dei seguenti componenti nel file degli override, puoi utilizzare la proprietà revision
per segnalare che vuoi eseguire un aggiornamento in sequenza per i pod interessati.
runtime
mart
udca
metrics
synchronizer
Puoi utilizzare revision
anche quando modifichi una delle seguenti proprietà:
nodeSelector.*
envs.*
imagePullSecrets.*
gcpProjectID
(immagine deprecata)k8sClusterName
(immagine deprecata)gcp.*
k8sCluster.*
contractProvider
org
Come eseguire un aggiornamento in sequenza
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, il valore revision
viene modificato in green
, a indicare che vuoi eseguire un aggiornamento in sequenza quando la modifica viene applicata. Il valore impostato revision
non ha importanza; puoi utilizzare qualsiasi stringa tu voglia, 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, puoi utilizzare il flag -c
per aggiornare solo un pod specifico. Ad esempio:
apigeectl apply -f my-overrides.yaml -c runtime
Oppure, se non utilizzi -c
, verranno aggiornati tutti i pod con modifiche alla configurazione.