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
(obsolète)k8sClusterName
(obsolète)gcp.*
k8sCluster.*
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.