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

이 절차에서는 Apigee Hybrid 버전 1.13.x에서 Apigee Hybrid 버전 1.14.0으로 업그레이드하는 방법을 다룹니다.

Apigee Hybrid v1.13의 변경사항

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

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

기본 요건

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

1.14.0으로 업그레이드하기 전에 - 제한사항 및 중요사항

  • Apigee Hybrid 1.14.0에서는 단일 환경에 50개 이상의 프록시와 10개의 공유 흐름을 배포할 수 있는 새로운 향상된 프록시 한도 기능을 도입합니다. 이 기능을 사용하려면 Hybrid 1.14.0을 새로 설치하고 조직을 만들어야 합니다. 이 기능은 업그레이드된 설치에는 적용할 수 없습니다. 향상된 프록시 한도에 관한 자세한 내용은 Apigee 하이브리드 v1.14.0 출시 노트를 참고하세요.

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

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

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

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

버전 1.14.0으로 업그레이드 개요

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

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

버전 1.14로 업그레이드 준비

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.13 $APIGEE_HELM_CHARTS_HOME/ 디렉터리의 백업 사본을 만듭니다. 모든 백업 프로세스를 사용할 수 있습니다. 예를 들어 다음을 사용하여 전체 디렉터리의 tar 파일을 만들 수 있습니다.
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.13-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Cassandra 백업 및 복구의 안내에 따라 Cassandra 데이터베이스를 백업합니다.
  4. 서비스 계정 인증에 대한 재정의에 서비스 인증서 파일(.json)을 사용하는 경우 서비스 계정 인증서 파일이 올바른 Helm 차트 디렉터리에 있는지 확인합니다. Helm 차트는 각 차트 디렉터리 외부의 파일을 읽을 수 없습니다.

    Kubernetes 보안 비밀이나 워크로드 아이덴티티를 사용하여 서비스 계정을 인증하는 경우에는 이 단계가 필요하지 않습니다.

    다음 표에서는 설치 유형에 따라 각 서비스 계정 파일의 대상을 보여줍니다.

    프로덕션

    서비스 계정 기본 파일 이름 Helm 차트 디렉터리
    apigee-cassandra PROJECT_ID-apigee-cassandra.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    apigee-logger PROJECT_ID-apigee-logger.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-mart PROJECT_ID-apigee-mart.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-metrics PROJECT_ID-apigee-metrics.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-runtime PROJECT_ID-apigee-runtime.json $APIGEE_HELM_CHARTS_HOME/apigee-env
    apigee-synchronizer PROJECT_ID-apigee-synchronizer.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
    apigee-udca PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-watcher PROJECT_ID-apigee-watcher.json $APIGEE_HELM_CHARTS_HOME/apigee-org/

    비프로덕션

    다음 디렉터리 각각에 apigee-non-prod 서비스 계정 파일의 사본을 만듭니다.

    서비스 계정 기본 파일 이름 Helm 차트 디렉터리
    apigee-non-prod PROJECT_ID-apigee-non-prod.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    $APIGEE_HELM_CHARTS_HOME/apigee-org/
    $APIGEE_HELM_CHARTS_HOME/apigee-env/
  5. TLS 인증서와 키 파일(.crt, .key 또는 .pem)이 $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/ 디렉터리에 있는지 확인합니다.

Kubernetes 버전 업그레이드

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

Hybrid 1.14.0 런타임 설치

데이터 수집 파이프라인을 구성합니다.

  1. 하이브리드 v1.14의 경우 데이터 영역 구성요소가 Apigee의 제어 영역에 직접 쓸 수 있도록 overrides.yaml 파일에 다음 newDataPipeline 스탠자를 추가해야 합니다.

    # Required
    newDataPipeline:
      debugSession: true
      analytics: true
    
  2. 데이터 상주를 사용한 애널리틱스 및 디버그 데이터 수집: 구성의 단계에 따라 승인 흐름을 구성합니다.

Helm 차트 업그레이드 준비

  1. 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.14.0
    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
    
  2. 필요한 경우 cert-manager를 업그레이드합니다.

    cert-manager 버전을 업그레이드해야 하는 경우 다음 명령어를 사용하여 새 버전을 설치합니다.

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.1/cert-manager.yaml
    

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

  3. Apigee 네임스페이스가 apigee가 아니면 apigee-operator/etc/crds/default/kustomization.yaml 파일을 수정하고 namespace 값을 Apigee 네임스페이스로 바꿉니다.
    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    
    namespace: APIGEE_NAMESPACE
    

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

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

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run
      
    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
      
  5. apigee-operatorapigee-system 네임스페이스에서 APIGEE_NAMESPACE로 마이그레이션합니다.
    1. clusterIssuer에 새 네임스페이스를 주석으로 추가합니다.
      kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='APIGEE_NAMESPACE'
      
    2. apigee-operator의 출시 이름을 변경하는 경우 clusterIssuer에 새 출시 이름을 주석으로 추가합니다.
      kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='APIGEE_OPERATOR_RELEASE_NAME'
      
  6. 두 컨트롤러가 조정되지 않도록 apigee-system 네임스페이스에 있는 기존 Apigee Operator 배포 복제본을 0으로 업데이트합니다.
    kubectl scale deployment apigee-controller-manager -n apigee-system --replicas=0
    
  7. 두 컨트롤러가 조정되지 않도록 apigee-system 네임스페이스에 있는 기존 Apigee Operator 배포 복제본을 0으로 업데이트합니다.
    kubectl delete mutatingwebhookconfiguration apigee-mutating-webhook-configuration
    kubectl delete validatingwebhookconfiguration apigee-validating-webhook-configuration
    
  8. 클러스터 노드의 라벨을 확인합니다. 기본적으로 Apigee는 cloud.google.com/gke-nodepool=apigee-data 라벨이 있는 노드의 데이터 포드를 예약하고 런타임 포드는 cloud.google.com/gke-nodepool=apigee-runtime 라벨이 있는 노드에 예약됩니다. overrides.yaml 파일에서 노드 풀 라벨을 맞춤설정할 수 있습니다.

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

Apigee Hybrid Helm 차트 설치

  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.14.0   1.14.0
    

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

    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-org1-xxxxx          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 차트를 설치한 이름입니다. Hybrid v1.10에서는 일반적으로 apigee-env-ENV_NAME입니다. Hybrid v1.11 이상에서는 일반적으로 ENV_NAME입니다.
    • ENV_NAME은 업그레이드하는 환경의 이름입니다.
    • OVERRIDES_FILE은 v.1.14.0의 새로운 재정의 파일입니다.

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

    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-org1-dev-xxx            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 차트를 설치한 이름입니다. Hybrid v1.10에서는 일반적으로 apigee-virtualhost-ENV_GROUP_NAME입니다. Hybrid v1.11 이상에서는 일반적으로 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-xxxxxx                running   2d
  10. 모든 설치가 성공적으로 업그레이드되었는지 확인한 후 apigee-system 네임스페이스에서 이전 apigee-operator 버전을 삭제합니다.
    1. 이전 operator 버전을 제거합니다.
      helm delete operator -n apigee-system
      
    2. apigee-system 네임스페이스를 삭제합니다.
      kubectl delete namespace apigee-system
      
  11. 삭제된 클러스터 범위 리소스를 다시 설치하려면 Apigee 네임스페이스에서 operator을 다시 업그레이드합니다.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f overrides.yaml
    

이전 버전으로 롤백

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

apigee-operator의 네임스페이스 변경사항으로 인해 검증 및 변형 허용 후크를 삭제하려면 추가 단계를 수행합니다. 이렇게 하면 apigee-operatorapigee-system 네임스페이스에 다시 설치할 때 올바른 Apigee Operator 엔드포인트를 가리키도록 다시 만들어집니다.

  1. apigee-system 네임스페이스에서 롤백할 때 충돌을 방지하기 위해 두 컨트롤러가 커스텀 리소스를 조정하지 않도록 Apigee에서 기존 Apigee 연산자 배포 복제본을 0으로 업데이트합니다.
    kubectl scale deployment apigee-controller-manager -n APIGEE_NAMESPACE --replicas=0
    
    kubectl delete mutatingwebhookconfiguration \
      apigee-mutating-webhook-configuration-APIGEE_NAMESPACE
    
    kubectl delete validatingwebhookconfiguration \
      apigee-validating-webhook-configuration-APIGEE_NAMESPACE
    
  2. 모든 차트를 apigee-virtualhost에서 apigee-datastore로 되돌립니다. 다음 명령어는 이전 버전 (v1.13.x)의 차트를 사용한다고 가정합니다.

    각 환경 그룹에 대해 다음 명령을 실행합니다.

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace apigee \
      --atomic \
      --set envgroup=ENV_GROUP_NAME \
      -f 1.13_OVERRIDES_FILE
    

    각 환경에 대해 다음 명령어를 실행합니다.

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=ENV_NAME \
      -f 1.13_OVERRIDES_FILE
    

    apigee-operator를 제외한 나머지 차트를 되돌립니다.

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  3. apigee-system 네임스페이스를 만듭니다.
    kubectl create namespace apigee-system
    
  4. 리소스 주석을 다시 apigee-system 네임스페이스에 패치합니다.
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
    
  5. 출시 이름도 변경한 경우 주석을 operator 출시 이름으로 업데이트합니다.
    kubectl annotate --overwrite cluseterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
    
  6. apigee-operatorapigee-system 네임스페이스에 다시 설치합니다.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  7. 이전 CRD를 재설치하여 CRD를 되돌립니다.
    kubectl apply -k apigee-operator/etc/crds/default/ \
      --server-side \
      --force-conflicts \
      --validate=false
    
  8. APIGEE_NAMESPACE 네임스페이스에서 apigee-operator 출시를 삭제하여 롤백 프로세스를 완료합니다.
    helm uninstall operator -n APIGEE_NAMESPACE
    
  9. operator가 제거되면 clusterIssuer와 같은 일부 클러스터 범위 리소스가 삭제됩니다. 다음 명령어를 사용하여 다시 설치합니다.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE