Apigee Hybrid를 버전 1.17로 업그레이드

이 절차에서는 Apigee Hybrid 버전 1.16.x에서 Apigee Hybrid 버전 1.17.1로 업그레이드하고 이전 출시 버전인 Hybrid 1.17.x에서 버전 1.17.1로 업그레이드하는 작업을 다룹니다.

마이너 버전 업그레이드 (예: 버전 1.16에서 1.17로)와 패치 출시 버전 업그레이드 (예: 1.17.0에서 1.17.1로)에 같은 절차를 사용합니다.

Apigee Hybrid 버전 1.15 이하에서 업그레이드하는 경우 버전 Hybrid 버전 1.17.1로 업그레이드하기 전에 버전 1.16으로 업그레이드해야 합니다. Apigee Hybrid를 버전 1.16으로 업그레이드 안내를 참고하세요.

Apigee Hybrid v1.16의 변경사항

다음과 같은 변경사항이 있습니다.

  • 모델 컨텍스트 프로토콜 (MCP) 지원: Apigee Hybrid 버전 1.17에서는 관리형 MCP 엔드포인트를 통해 에이전트 AI 애플리케이션이 API를 도구로 사용할 수 있는 오픈 프로토콜인 모델 컨텍스트 프로토콜 (MCP)을 지원합니다. Apigee Hybrid는 다른 API를 관리하는 것과 동일한 방식으로 이러한 MCP 도구 호출을 라우팅, 승인, 보안 처리하므로 자체 MCP 서버를 실행하거나 유지관리할 필요가 없습니다. 자세한 내용은 Apigee의 모델 컨텍스트 프로토콜 (MCP) 개요 및 MCP 빠른 시작을 참고하세요.
  • 루트 CA 인증서 순환: Apigee Hybrid 버전 1.17에서는 런타임 구성요소 간 TLS 통신의 신뢰를 고정하는 루트 인증 기관 (CA) 인증서의 순환을 지원합니다. 이제 단계별 순환 절차를 따라 다운타임 없이 만료되기 전에 루트 CA를 교체할 수 있습니다. 자세한 내용은 루트 CA 인증서 순환을 참고하세요.
  • TLS 1.3 지원: Apigee Hybrid 버전 1.17에서는 최신 버전의 전송 계층 보안 프로토콜인 TLS 1.3을 지원합니다. TLS 1.3은 이전 TLS 버전보다 연결 핸드셰이크가 빠르고 보안이 더 강력합니다. 인그레스 게이트웨이에서 TLS를 구성하는 방법에 관한 자세한 내용은 인그레스 게이트웨이에서 TLS 및 mTLS 구성을 참고하세요.
  • AI 정책의 전달 프록시 지원: Apigee Hybrid 버전 1.17에서는 Model Armor 및 시맨틱 캐싱 정책과 같은 AI 정책의 전달 프록시 지원이 추가되었습니다. 이제 이러한 정책에서 수행하는 아웃바운드 호출은 HTTP 전달 프록시를 통해 라우팅할 수 있습니다. 이전 버전의 Apigee Hybrid에서는 지원되지 않았습니다. 자세한 내용은 API 프록시용 전달 프록시 구성을 참고하세요.
  • 시맨틱 캐시 Private Service Connect (PSC) 엔드포인트 지원: Apigee Hybrid 버전 1.17에서는 시맨틱 캐싱을 위한 Private Service Connect (PSC) 엔드포인트 지원이 추가되었습니다. 이제 시맨틱 캐싱 정책이 Private Service Connect 엔드포인트를 통해 지원 서비스에 도달할 수 있으므로 트래픽이 비공개 네트워크에 유지됩니다. 자세한 내용은 시맨틱 캐싱 정책 시작하기를 참고하세요.

Hybrid 버전 1.17의 기능에 관한 자세한 내용은 Apigee Hybrid v1.17.1 출시 노트를 참고하세요.

기본 요건

Hybrid 버전 1.17로 업그레이드하기 전에 설치가 다음 요구사항을 충족하는지 확인하세요.

1.17.1로 업그레이드하기 전 - 제한사항 및 중요 참고사항

  • Apigee Hybrid 버전 1.17로 업그레이드하려면 다운타임이 필요할 수 있습니다.

    Apigee 컨트롤러를 버전 1.17.1로 업그레이드하면 모든 Apigee 배포가 순차적으로 재시작됩니다. 지속적 재시작 중에 프로덕션 하이브리드 환경에서 다운타임을 최소화하려면 클러스터를 최소 두 개 이상(동일하거나 다른 리전/데이터 센터에서)을 실행해야 합니다. 모든 프로덕션 트래픽을 단일 클러스터로 전환하고 오프라인으로 업그레이드하려는 클러스터를 적용한 후 업그레이드 절차를 진행합니다. 클러스터마다 이 절차를 반복합니다.

    Apigee에서는 업그레이드를 시작하면 프로덕션에 영향을 미칠 가능성을 줄이기 위해 가능한 한 빨리 모든 클러스터를 업그레이드할 것을 권장합니다. 첫 번째 클러스터를 업그레이드한 후 남은 클러스터를 모두 업그레이드해야 하는 기한은 정해져 있지 않습니다. 그러나 나머지 모든 클러스터가 업그레이드될 때까지 Cassandra 백업 및 복원은 혼합 버전에서 작동하지 않습니다. 예를 들어 Hybrid 1.16의 백업을 사용하여 Hybrid 1.17 인스턴스를 복원할 수 없습니다.

  • 업그레이드 중에 관리 영역 변경사항을 완전히 정지할 필요는 없습니다. 관리 영역 변경사항에 대한 모든 임시 정지는 아래의 업그레이드 안내에 나와 있습니다.

버전 1.17.1로 업그레이드 개요

Apigee Hybrid 업그레이드 절차는 다음과 같은 섹션으로 정리됩니다.

  1. 업그레이드를 준비합니다.
  2. Hybrid 런타임 버전 1.17.1을 설치합니다.

버전 1.17로 업그레이드 준비

Hybrid 설치 백업

  1. 이 안내에서는 Helm 차트를 설치한 파일 시스템의 디렉터리에 환경 변수 APIGEE_HELM_CHARTS_HOME을 사용합니다. 필요한 경우 디렉터리를 이 디렉터리로 변경하고 다음 명령어를 사용하여 변수를 정의합니다.

    Linux

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    MacOS

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Windows

    set APIGEE_HELM_CHARTS_HOME=%CD%
    echo %APIGEE_HELM_CHARTS_HOME%
  2. 버전 1.16 $APIGEE_HELM_CHARTS_HOME/ 디렉터리의 백업 복사본을 만듭니다. 모든 백업 프로세스를 사용할 수 있습니다. 예를 들어 다음을 사용하여 전체 디렉터리의 tar 파일을 만들 수 있습니다.
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.16-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Cassandra 백업 및 복구의 안내에 따라 Cassandra 데이터베이스를 백업합니다.
  4. TLS 인증서와 키 파일(.crt, .key 또는 .pem)이 $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/ 디렉터리에 있는지 확인합니다.

Kubernetes 버전 업그레이드

Kubernetes 플랫폼 버전을 확인하고 필요한 경우 Kubernetes 플랫폼을 Hybrid 1.16 및 Hybrid 1.17 모두에서 지원하는 버전으로 업그레이드합니다. 도움이 필요하면 플랫폼 문서를 참조하세요.

Apigee Helm 차트를 가져옵니다.

Apigee Hybrid 차트는 Google Artifact Registry에서 호스팅됩니다.

oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts

pull 명령어를 사용하여 다음 명령어로 모든 Apigee Hybrid Helm 차트를 로컬 스토리지에 복사합니다.

export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.17.1
helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar

맞춤 apigee 네임스페이스의 kustomization.yaml 수정

Apigee 네임스페이스가 apigee가 아니면 apigee-operator/etc/crds/default/kustomization.yaml 파일을 수정하고 namespace 값을 Apigee 네임스페이스로 바꿉니다.

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: APIGEE_NAMESPACE

apigee를 네임스페이스로 사용하는 경우 파일을 수정할 필요가 없습니다.

  • 업데이트된 Apigee CRD를 설치합니다.
    1. 다음 명령어를 실행하여 kubectl 테스트 실행 기능을 사용합니다.

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
      
    2. 테스트 실행 명령어로 유효성을 검사한 후 다음 명령어를 실행합니다.

      kubectl apply -k  apigee-operator/etc/crds/default/ \
        --server-side \
        --force-conflicts \
        --validate=false
      
    3. kubectl get crds 명령어를 사용하여 설치를 검증합니다.
      kubectl get crds | grep apigee

      출력이 다음과 같이 표시됩니다.

      apigeedatastores.apigee.cloud.google.com                    2024-08-21T14:48:30Z
      apigeedeployments.apigee.cloud.google.com                   2024-08-21T14:48:30Z
      apigeeenvironments.apigee.cloud.google.com                  2024-08-21T14:48:31Z
      apigeeissues.apigee.cloud.google.com                        2024-08-21T14:48:31Z
      apigeeorganizations.apigee.cloud.google.com                 2024-08-21T14:48:32Z
      apigeeredis.apigee.cloud.google.com                         2024-08-21T14:48:33Z
      apigeerouteconfigs.apigee.cloud.google.com                  2024-08-21T14:48:33Z
      apigeeroutes.apigee.cloud.google.com                        2024-08-21T14:48:33Z
      apigeetelemetries.apigee.cloud.google.com                   2024-08-21T14:48:34Z
      cassandradatareplications.apigee.cloud.google.com           2024-08-21T14:48:35Z
      
  • 클러스터 노드의 라벨을 확인합니다. 기본적으로 Apigee는 cloud.google.com/gke-nodepool=apigee-data 라벨이 있는 노드의 데이터 포드를 예약하고 런타임 포드는 cloud.google.com/gke-nodepool=apigee-runtime 라벨이 있는 노드에 예약됩니다. overrides.yaml 파일에서 노드 풀 라벨을 맞춤설정할 수 있습니다.

    자세한 내용은 전용 노드 풀 구성을 참조하세요.

  • cert-manager 업그레이드

    Apigee Hybrid v1.17은 cert-manager 버전 1.16~1.19를 지원합니다. cert-manager 1.18에 트래픽 문제를 일으킬 수 있는 변경사항이 있습니다. cert-manager 버전 1.18에서 Certificate.Spec.PrivateKey.rotationPolicy의 기본값이 Never에서 Always로 변경되었습니다. 업그레이드된 Apigee Hybrid 설치의 경우 트래픽 문제가 발생할 수 있습니다. 이전 버전에서 Hybrid v1.17로 업그레이드할 때는 이 변경사항을 보완하도록 apigee-ca 인증서를 수정하거나 cert-manager 버전을 출시 1.17.x 이하로 유지해야 합니다.

    cert-manager를 1.18 또는 1.19로 업그레이드하기 전에 다음 단계 절차를 사용하여 apigee-ca 인증서를 수정하여 Certificate.Spec.PrivateKey.rotationPolicy 값을 Never로 설정하세요.

    1. apigee-ca 인증서의 콘텐츠를 확인하여 rotationPolicy이 설정되었는지 확인합니다.
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      출력에서 spec.privateKey 아래의 값을 찾습니다.

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          # Note: rotationPolicy would appear here if it is set.
          size: 256
        secretName: apigee-ca
      ...
    2. rotationPolicy가 설정되지 않았거나 Always로 설정된 경우 apigee-ca 인증서를 수정하여 rotationPolicy 값을 Never로 설정합니다.
      1. 먼저 드라이 런을 수행합니다.
        kubectl patch Certificate \
          --dry-run=server \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
      2. 인증서를 패치합니다.
        kubectl patch Certificate \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
    3. rotationPolicy 값이 이제 Never로 설정되었는지 확인합니다.
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      출력은 다음과 비슷하게 표시됩니다.

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          rotationPolicy: Never
          size: 256
        secretName: apigee-ca
      ...
    4. cert-manager를 업그레이드합니다. 다음 명령어를 실행하면 cert-manager v1.19.2가 다운로드되고 설치됩니다.
      kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.yaml

      지원되는 버전 목록은 지원되는 플랫폼 및 버전: cert-manager를 참조하세요.

    다음과 같이 표시됩니다.

    Hybrid 1.17.1 런타임 설치

    1. 그렇지 않은 경우에는 APIGEE_HELM_CHARTS_HOME 디렉터리로 이동합니다. 해당 디렉터리에서 다음 명령어를 실행합니다.
    2. Apigee Operator/Controller를 업그레이드합니다.

      드라이 런:

      helm upgrade operator apigee-operator/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      차트를 업그레이드합니다.

      helm upgrade operator apigee-operator/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE
      

      Apigee 운영자 설치를 확인합니다.

      helm ls -n APIGEE_NAMESPACE
      
      NAME       NAMESPACE       REVISION   UPDATED                                STATUS     CHART                   APP VERSION
      operator   apigee   3          2024-08-21 00:42:44.492009 -0800 PST   deployed   apigee-operator-1.17.1   1.17.1
      

      가용성을 확인하여 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
      
      NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
      apigee-controller-manager   1/1     1            1           7d20h
      
    3. Apigee Datastore를 업그레이드합니다.

      드라이 런:

      helm upgrade datastore apigee-datastore/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      차트를 업그레이드합니다.

      helm upgrade datastore apigee-datastore/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE
      

      상태를 확인하여 apigeedatastore가 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get apigeedatastore default
      
      NAME      STATE       AGE
      default   running    2d
    4. Apigee 원격 분석을 업그레이드합니다.

      드라이 런:

      helm upgrade telemetry apigee-telemetry/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      차트를 업그레이드합니다.

      helm upgrade telemetry apigee-telemetry/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE
      

      상태를 확인하여 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
      
      NAME               STATE     AGE
      apigee-telemetry   running   2d
    5. Apigee Redis를 업그레이드합니다.

      드라이 런:

      helm upgrade redis apigee-redis/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      차트를 업그레이드합니다.

      helm upgrade redis apigee-redis/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE
      

      상태를 확인하여 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get apigeeredis default
      
      NAME      STATE     AGE
      default   running   2d
    6. Apigee 인그레스 관리자를 업그레이드합니다.

      드라이 런:

      helm upgrade ingress-manager apigee-ingress-manager/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      차트를 업그레이드합니다.

      helm upgrade ingress-manager apigee-ingress-manager/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE
      

      가용성을 확인하여 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
      
      NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
      apigee-ingressgateway-manager   2/2     2            2           2d
    7. Apigee 조직을 업그레이드합니다.

      드라이 런:

      helm upgrade ORG_NAME apigee-org/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      차트를 업그레이드합니다.

      helm upgrade ORG_NAME apigee-org/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        -f OVERRIDES_FILE
      

      해당 조직의 상태를 확인하여 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get apigeeorg
      
      NAME                      STATE     AGE
      apigee-my-org-my-env      running   2d
    8. 환경을 업그레이드합니다.

      한 번에 환경 하나만 설치해야 합니다. --set env=ENV_NAME으로 환경을 지정합니다.

      드라이 런:

      helm upgrade ENV_RELEASE_NAME apigee-env/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        --set env=ENV_NAME \
        -f OVERRIDES_FILE \
        --dry-run=server
      
      • ENV_RELEASE_NAME은 apigee-env 차트 설치 및 업그레이드를 추적하는 데 사용되는 이름입니다. 이 이름은 설치 내 다른 Helm 출시 이름과 다르게 고유해야 합니다. 일반적으로 ENV_NAME과 동일합니다. 그러나 환경 이름이 환경 그룹 이름과 같으면 환경과 환경 그룹에 서로 다른 출시 이름(예: dev-env-release 및 dev-envgroup-release)을 사용해야 합니다. Helm의 출시 버전에 대한 자세한 내용은 Helm 문서의 세 가지 주요 개념을 참조하세요.
      • ENV_NAME은 업그레이드하는 환경의 이름입니다.
      • OVERRIDES_FILE은 v.1.17.1의 새로운 재정의 파일입니다.

      차트를 업그레이드합니다.

      helm upgrade ENV_RELEASE_NAME apigee-env/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        --set env=ENV_NAME \
        -f OVERRIDES_FILE
      

      해당 환경의 상태를 확인하여 실행 중인지 확인합니다.

      kubectl -n APIGEE_NAMESPACE get apigeeenv
      
      NAME                          STATE       AGE   GATEWAYTYPE
      apigee-my-org-my-env          running     2d
    9. 환경 그룹(virtualhosts)을 업그레이드합니다.
      1. 한 번에 환경 그룹(virtualhost) 하나만 설치해야 합니다. --set envgroup=ENV_GROUP_NAME으로 환경 그룹을 지정합니다. override.yaml 파일에 언급된 환경 그룹마다 다음 명령어를 반복합니다.

        드라이 런:

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --set envgroup=ENV_GROUP_NAME \
          -f OVERRIDES_FILE \
          --dry-run=server
        

        ENV_GROUP_RELEASE_NAME은 이전에 apigee-virtualhost 차트를 설치한 이름입니다. 일반적으로 ENV_GROUP_NAME입니다.

        차트를 업그레이드합니다.

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --set envgroup=ENV_GROUP_NAME \
          -f OVERRIDES_FILE
        
      2. ApigeeRoute(AR) 상태를 확인합니다.

        virtualhosts를 설치하면 Apigee 감시자가 제어 영역에서 환경 그룹 관련 세부정보를 가져온 후 내부적으로 ApigeeRoute(AR)를 만드는 ApigeeRouteConfig(ARC)가 생성됩니다. 따라서 해당 AR 상태가 실행 중인지 확인합니다.

        kubectl -n APIGEE_NAMESPACE get arc
        
        NAME                                STATE   AGE
        apigee-org1-dev-egroup                       2d
        kubectl -n APIGEE_NAMESPACE get ar
        
        NAME                                        STATE     AGE
        apigee-org1-dev-egroup-123abc               running   2d

    이전 버전으로 롤백

    이전 버전으로 롤백하려면 이전 차트 버전을 사용하여 업그레이드 프로세스를 역순으로 롤백합니다. apigee-virtualhost로 시작하여 apigee-operator로 돌아간 다음 CRD를 되돌립니다.

    1. 차트를 되돌립니다. 다음 명령어는 이전 버전 (v1.16.x)의 차트를 사용한다고 가정합니다.
      1. 각 환경 그룹에 대해 다음 명령어를 실행합니다.

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          --set envgroup=ENV_GROUP_NAME \
          -f 1.16_OVERRIDES_FILE
        
      2. 각 환경에 대해 다음 명령어를 실행합니다.

        helm upgrade ENV_RELEASE_NAME apigee-env/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          --set env=ENV_NAME \
          -f 1.16_OVERRIDES_FILE
        
      3. apigee-org:

        helm upgrade ORG_NAME apigee-org/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          -f 1.16_OVERRIDES_FILE
        
      4. apigee-ingress-manager:

        helm upgrade ingress-manager apigee-ingress-manager/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          -f 1.16_OVERRIDES_FILE
        
      5. apigee-redis:

        helm upgrade redis apigee-redis/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          -f 1.16_OVERRIDES_FILE
        
      6. apigee-telemetry:

        helm upgrade telemetry apigee-telemetry/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          -f 1.16_OVERRIDES_FILE
        
      7. apigee-datastore:

        helm upgrade datastore apigee-datastore/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          -f 1.16_OVERRIDES_FILE
        
      8. apigee-operator:

        helm upgrade operator apigee-operator/ \
          --install \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          -f 1.16_OVERRIDES_FILE
        
    2. 이전 CRD를 재설치하여 CRD를 되돌립니다.
      kubectl apply -k apigee-operator/etc/crds/default/ \
        --server-side \
        --force-conflicts \
        --validate=false