Mises à jour progressives

Apigee hybride est compatible avec les mises à jour progressives. Dans Kubernetes, les mises à jour progressives permettent de mettre à jour les déploiements sans interruption de service grâce à une mise à jour progressive des instances de pod avec de nouvelles instances.

Composants compatibles avec les mises à jour progressives

Si vous modifiez les paramètres de propriété pour l'un des composants hybrides suivants dans votre fichier de remplacement, vous pouvez utiliser la propriété revision pour signaler que vous souhaitez effectuer une mise à jour progressive des pods concernés.

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

Vous pouvez également utiliser revision lorsque vous modifiez l'une des propriétés suivantes :

  • nodeSelector.*
  • envs.*
  • imagePullSecrets.*
  • gcpProjectID
  • k8sClusterName
  • contractProvider
  • org

Comment effectuer une mise à jour progressive

Par exemple, supposons que vous souhaitiez que la mémoire runtime actuelle de 1 Gi passe à 5 Gi :

Dans la configuration actuelle, revision est défini sur blue :

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

Dans la nouvelle configuration, revision est remplacé par green, ce qui indique que vous souhaitez effectuer une mise à jour progressive lorsque la modification est appliquée. La valeur que vous définissez pour revision n'a pas d'importance. Vous pouvez utiliser n'importe quelle chaîne, à condition de remplacer la valeur précédente par une autre valeur.

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

Lorsque vous appliquez la modification, vous pouvez utiliser l'option -c pour ne mettre à jour qu'un pod spécifique. Exemple :

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

Si vous n'utilisez pas -c, tous les pods dont les configurations sont modifiées seront mis à jour.