Apigee hybrid admite dos tipos de actualizaciones. El primero es una actualización local en la que aplicas un cambio de configuración y hybrid inicia una actualización progresiva de Kubernetes. 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.
Apigee Hybrid también admite una actualización a la versión canary o de estilo AB. En una actualización AB, se implementa la revisión nueva, sin embargo, primero se dirige a un pequeño porcentaje de tráfico. Con el tiempo, este porcentaje aumenta hasta que todo el tráfico se envía a la revisión.
Actualizaciones locales
Para activar una actualización local, solo modifica la configuración deseada en el archivo de anulación y aplícala al clúster. Por ejemplo, supongamos que deseas cambiar la memoria actual runtime
de 1Gi a 5G:
Esta es la configuración inicial:
... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 1Gi ...
En la nueva configuración, la memoria se cambia a 5Gi:
... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 5Gi ...
Cuando aplica el cambio, los Pods actualizados se inician y reemplazan a los existentes. Debido a la característica de actualización progresiva de Kubernetes, los clientes no experimentan tiempo de inactividad.
Cómo realizar una actualización AB
Para realizar una actualización AB, usa la etiqueta revision
en tu archivo de anulaciones.
Por ejemplo, supongamos que deseas cambiar la memoria actual runtime
de 1Gi a 5Gi:
En la configuración actual, revision
está establecido en blue
:
... revision: blue ... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 1Gi ...
En la configuración nueva, si cambias revision
a green
, indicas 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: requests: cpu: 1000m memory: 5Gi ...
Cuando aplique el cambio, aparecerá un pequeño porcentaje de tráfico con la revisión nueva. Con el tiempo, más tráfico se envía a la revisión nueva hasta que alcanza el 100%. En ese momento, se borra la revisión anterior.
Para activar un lanzamiento de AB, agrega la etiqueta revision
si no está presente o cambia el valor de la etiqueta revision
si ya está presente. No es necesario realizar otros cambios en el archivo de anulación para activar un lanzamiento de AB.
En la siguiente tabla, se muestra el programa de lanzamiento de AB:
Etapa | Porcentaje de tráfico | Tiempo de espera |
---|---|---|
1 | 5% | 60 segundos |
2 | 20% | 10 segundos |
3 | 100% | 10 segundos |
En la versión actual, los porcentajes y tiempos de espera no son configurables.