Actualizaciones continuas

Apigee Hybrid admite actualizaciones continuas. En Kubernetes, las actualizaciones continuas permiten que las actualizaciones de los despliegues se realicen sin tiempo de inactividad, ya que se actualizan de forma incremental las instancias de los pods con las nuevas.

Componentes que admiten actualizaciones continuas

Si cambias los ajustes de propiedad de cualquier híbrido de los siguientes componentes en tu archivo de anulaciones, puedes usar la propiedad revision para indicar que quieres realizar una actualización continua de los pods afectados.

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

También puedes usar revision cuando cambies alguna de las siguientes propiedades:

  • nodeSelector.*
  • envs.*
  • imagePullSecrets.*
  • gcpProjectID (desactivada)
  • k8sClusterName (desactivada)
  • gcp.*
  • k8sCluster.*
  • contractProvider
  • org

Cómo realizar una actualización continua

Por ejemplo, supongamos que quieres cambiar la memoria runtime actual de 1 Gi a 5 Gi:

En la configuración actual, revision está definido como blue:

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

En la nueva configuración, revision se cambia a green, lo que indica que quieres realizar una actualización gradual cuando se aplique el cambio. El valor que asignes a revision no importa. Puedes usar cualquier cadena, siempre que la cambies del valor anterior a otro.

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

Cuando apliques el cambio, puedes usar la marca -c para actualizar solo un pod específico. Por ejemplo:

apigeectl apply -f my-overrides.yaml -c runtime

Si no usas -c, se actualizarán todos los pods que tengan cambios en la configuración.