Apigee hybrid supporta gli aggiornamenti graduali. In Kubernetes, gli aggiornamenti in sequenza consentono di eseguire gli aggiornamenti del deployment senza tempi di inattività aggiornando in modo incrementale le istanze di pod con quelle nuove.
Componenti che supportano gli aggiornamenti in sequenza
Se modifichi le impostazioni della proprietà per qualsiasi ibrido dei seguenti componenti nel
file delle sostituzioni, puoi utilizzare
la proprietà revision per indicare che vuoi eseguire un aggiornamento graduale
ai pod interessati.
runtimemartudcametricssynchronizer
Puoi utilizzare revision anche quando modifichi una delle seguenti proprietà:
nodeSelector.*envs.*imagePullSecrets.*gcpProjectID(immagine deprecata)k8sClusterName(immagine deprecata)gcp.*k8sCluster.*contractProviderorg
Come eseguire un aggiornamento in sequenza
Ad esempio, supponiamo che tu voglia modificare la memoria runtime corrente da 1 Gi a 5 Gi:
Nella configurazione attuale, revision è impostato su blue:
...
revision: blue
...
runtime:
replicaCountMin: 2
replicaCountMax: 20
resources:
cpu: 1000m
memory: 1Gi
...
Nella nuova configurazione, revision viene modificato in green, indicando che vuoi eseguire un aggiornamento in sequenza quando viene applicata la modifica. Il valore impostato per revision non ha importanza; puoi
utilizzare qualsiasi stringa, purché la modifichi dal valore precedente in un 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
In alternativa, se non utilizzi -c, verranno aggiornati tutti i pod con modifiche alla configurazione.