순차적 업데이트

Apigee Hybrid는 순차적 업데이트를 지원합니다. Kubernetes에서 순차적 업데이트를 사용하면 Pod 인스턴스를 새 인스턴스로 점진적으로 업데이트하여 다운타임 없이 배포 업데이트를 수행할 수 있습니다.

순차적 업데이트를 지원하는 구성요소

재정의 파일에서 다음 구성요소의 하이브리드에 대한 속성 설정을 변경하면 revision 속성을 사용하여 영향을 받는 pod에 순차적 업데이트를 수행하려고 한다는 것을 신호할 수 있습니다.

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

다음 속성을 변경하는 경우 revision을 사용할 수도 있습니다.

  • nodeSelector.*
  • envs.*
  • imagePullSecrets.*
  • gcpProjectID(지원 중단됨)
  • k8sClusterName(지원 중단됨)
  • gcp.*
  • k8sCluster.*
  • contractProvider
  • org

순차적 업데이트를 수행하는 방법

예를 들어 현재 runtime 메모리를 1Gi에서 5Gi로 변경한다고 가정해보겠습니다.

현재 구성에서 revisionblue로 설정됩니다.

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

새 구성에서는 revisiongreen으로 변경되며, 변경사항이 적용될 때 순차적 업데이트를 수행한다는 신호를 보냅니다. revision으로 설정한 값은 중요하지 않습니다. 이전 값에서 다른 값으로 변경하기만 하면 원하는 문자열을 사용할 수 있습니다.

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

변경 사항을 적용할 때 -c 플래그를 사용하여 특정 pod만 업데이트할 수 있습니다. 예를 들면 다음과 같습니다.

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

또는 -c를 사용하지 않으면 구성 변경사항이 있는 모든 pod가 업데이트됩니다.