Apigee hybrid admite actualizaciones progresivas. En Kubernetes, las actualizaciones progresivas permiten que las actualizaciones de implementación se realicen sin tiempo de inactividad mediante la actualización incremental de las instancias de pods con instancias nuevas.
Componentes que admiten actualizaciones progresivas
Si cambias la configuración de la propiedad para cualquier hybrid de los siguientes componentes de tu archivo de anulaciones, puedes usar la propiedad revision
a fin de indicar que deseas realizar una actualización progresiva a los pods afectados.
runtime
mart
udca
metrics
synchronizer
También puedes usar revision
cuando cambies cualquiera de las siguientes propiedades:
nodeSelector.*
envs.*
imagePullSecrets.*
gcpProjectID
(obsoleta)k8sClusterName
(obsoleta)gcp.*
k8sCluster.*
contractProvider
org
Cómo realizar una actualización progresiva
Por ejemplo, supongamos que deseas cambiar la memoria actual runtime
de 1Gi a 5G:
En la configuración actual, revision
está establecido en blue
:
... revision: blue ... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: cpu: 1000m memory: 1Gi ...
En la configuración nueva, revision
se cambia a green
, lo que indica que deseas realizar una actualización progresiva cuando se aplica el cambio. El valor establecido para revision
no importa. Puedes usar cualquier string que desees, siempre y cuando la cambies del valor anterior a otro.
... revision: green ... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: cpu: 1000m memory: 5Gi ...
Cuando aplicas el cambio, puedes usar la marca -c
para actualizar solo un pod específico. Por ejemplo:
apigeectl apply -f my-overrides.yaml -c runtime
O bien, si no usas -c
, todos los pods que tienen cambios de configuración se actualizarán.