Atualizações graduais

A Apigee híbrida oferece suporte a atualizações graduais. No Kubernetes, as atualizações graduais permitem que as atualizações de implantação ocorram sem tempo de inatividade atualizando gradualmente as instâncias de pod com novas instâncias.

Componentes compatíveis com a atualização gradual

Se você alterar as configurações de propriedade de qualquer híbrido de um dos componentes no seu arquivo de modificação, será possível usar a propriedade revision para sinalizar que quer realizar uma atualização gradual nos pods afetados.

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

Também é possível usar revision quando alterar qualquer uma das seguintes propriedades:

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

Como fazer uma atualização gradual

Por exemplo, suponha que você queira alterar a memória runtime atual de 1Gi para 5Gi:

Na configuração atual, revision está definido como blue:

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

Na nova configuração, revision é alterado para green, sinalizando que você quer realizar uma atualização gradual quando a alteração for aplicada. O valor definido para revision não importa. É possível usar qualquer string, desde que altere o valor anterior.

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

Ao aplicar a alteração, use a sinalização -c para atualizar apenas um pod específico. Exemplo:

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

Ou, se você não usar -c, todos os pods que tiverem alterações de configuração serão atualizados.