이 절차에서는 Apigee Hybrid 버전 1.9.x에서 Apigee Hybrid 버전 1.10.5로 업그레이드하고 이전 출시 버전인 Hybrid 1.10.x에서 버전 1.10.5로 업그레이드하는 작업을 다룹니다.
부 버전 업그레이드(예: 버전 1.9에서 1.10으로)와 패치 출시 버전 업그레이드(예: 1.10.0에서 1.10.5로)에 같은 절차를 사용합니다.
버전 1.10.5로 업그레이드 개요
Apigee Hybrid 업그레이드 절차는 다음과 같은 섹션으로 정리됩니다.
기본 요건
이 업그레이드 안내에서는 Apigee Hybrid 버전 1.9.x가 설치되어 있고 버전 1.10.5로 업그레이드한다고 가정합니다. 이전 버전에서 업데이트하는 경우 Apigee Hybrid를 버전 1.9로 업그레이드 안내를 참조하세요.
버전 1.10으로 업그레이드 준비
하이브리드 설치 백업(권장)
- 이 안내에서는 apigeectl을 설치한 파일 시스템에서 디렉터리의 환경 변수 APIGEECTL_HOME을 사용합니다. 필요한 경우 디렉터리를apigeectl디렉터리로 변경하고 다음 명령어를 사용하여 변수를 정의합니다.Linuxexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOMEMacOSexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOMEWindowsset APIGEECTL_HOME=%CD% echo %APIGEECTL_HOME%
- 버전 1.9 $APIGEECTL_HOME/디렉터리의 백업 사본을 만듭니다. 예를 들면 다음과 같습니다.tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- Cassandra 백업 및 복구의 안내에 따라 Cassandra 데이터베이스를 백업합니다.
Kubernetes 버전 업그레이드
Kubernetes 플랫폼 버전을 확인하고 필요한 경우 Kubernetes 플랫폼을 Hybrid 1.9 및 Hybrid 1.10 모두에서 지원되는 버전으로 업그레이드합니다. 도움이 필요하면 플랫폼 문서를 참조하세요.
Hybrid 1.10.5 런타임 설치
- 하이브리드 기본 디렉터리(apigeectl실행 파일이 있는 디렉터리의 상위 디렉터리)에 있는지 확인합니다.cd $APIGEECTL_HOME/.. 
- 
    다음 명령어를 사용하여 운영체제용 출시 버전 패키지를 다운로드합니다. 다음 테이블에서 플랫폼을 선택해야 합니다. LinuxLinux 64비트: curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz MacOSMac 64비트: curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz WindowsWindows 64 비트: curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip 
- 현재 apigeectl/디렉터리의 이름을 백업 디렉터리 이름으로 바꿉니다. 예를 들면 다음과 같습니다.Linuxmv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ MacOSmv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ Windowsrename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9 
- 
    다운로드한 gzip 파일 콘텐츠를 Hybrid 기본 디렉터리에 추출합니다. Hybrid 기본 디렉터리는 이름이 변경된 apigeectl-v1.9디렉터리가 있는 디렉터리입니다.Linuxtar xvzf filename.tar.gz -C ./ MacOStar xvzf filename.tar.gz -C ./ Windowstar xvzf filename.zip -C ./ 
- 
    tar 콘텐츠는 기본적으로 이름에 해당 버전과 플랫폼이 포함된 디렉터리로 확장됩니다. 예를 들면 ./apigeectl_1.10.5-xxxxxxx_linux_64입니다. 다음 명령어를 사용하여 디렉터리 이름을apigeectl로 변경합니다.Linuxmv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl MacOSmv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl Windowsrename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl 
- 
     apigeectl디렉터리로 변경합니다.cd ./apigeectl 이 디렉터리는 apigeectl홈 디렉터리입니다. 여기에apigeectl실행 가능한 명령어가 있습니다.
- 이 안내에서는 apigeectl유틸리티가 설치된 파일 시스템의 디렉터리에 환경 변수$APIGEECTL_HOME을 사용합니다. 필요한 경우 디렉터리를apigeectl디렉터리로 변경하고 다음 명령어를 사용하여 변수를 정의합니다.Linuxexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOME MacOSexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOME Windowsset APIGEECTL_HOME=%CD% echo %APIGEECTL_HOME% 
- version명령어를 사용하여- apigeectl의 버전을 확인합니다.- ./apigeectl version - Version: 1.10.5 
- hybrid-base-directory/hybrid-files디렉터리를 만든 후 해당 디렉터리로 이동합니다.- hybrid-files디렉터리에는 재정의 파일, 인증서, 서비스 계정과 같은 구성 파일이 있습니다. 예를 들면 다음과 같습니다.- Linux- mkdir $APIGEECTL_HOME/../hybrid-files - cd $APIGEECTL_HOME/../hybrid-files - MacOS- mkdir $APIGEECTL_HOME/../hybrid-files - cd $APIGEECTL_HOME/../hybrid-files - Windows- mkdir %APIGEECTL_HOME%/../hybrid-files - cd %APIGEECTL_HOME%/../hybrid-files 
- 다음 명령어를 사용하여 kubectl이 올바른 컨텍스트로 설정되었는지 확인합니다. 현재 컨텍스트를 Apigee Hybrid를 업그레이드하는 클러스터로 설정해야 합니다.kubectl config get-contexts | grep \* 
- hybrid-files디렉터리에서 다음을 수행합니다.- 
    다음 기호화된 링크를 $APIGEECTL_HOME으로 업데이트합니다. 이러한 링크를 사용하면hybrid-files디렉터리 내에서 새로 설치된apigeectl명령어를 실행할 수 있습니다.ln -nfs $APIGEECTL_HOME/tools toolsln -nfs$APIGEECTL_HOME/config configln -nfs$APIGEECTL_HOME/templates templatesln -nfs$APIGEECTL_HOME/plugins plugins
- 
    심볼릭 링크가 올바르게 생성되었는지 확인하려면 이 명령어를 실행하고 링크 경로가 올바른 위치를 가리키는지 확인합니다.
    ls -l | grep ^l 
 
- 
    다음 기호화된 링크를 
- overrides.yaml 파일을 다음과 같이 변경하여 apigee-operator차트를 사용 설정하거나 올바른 태그(1.10.5-hotfix.1)를 사용하도록 합니다.ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- 테스트 실행 초기화를 수행하여 오류를 확인합니다.
      ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client여기서 OVERRIDES_FILE은 재정의 파일 이름입니다(예: ./overrides/overrides.yaml).
- 오류가 없으면 Hybrid 1.10.5를 초기화합니다.
      $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE 
- 초기화 상태를 확인합니다.
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 성공하면 다음과 같이 출력됩니다: All containers ready.kubectl describe apigeeds -n apigee 출력에서 State: running을 찾습니다.
- --dry-run플래그를 사용하여- apply명령어의 테스트 실행으로 오류가 있는지 확인합니다.- $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client 
- 오류가 없으면 재정의를 적용합니다. 설치에 따라 프로덕션 환경 또는 비프로덕션 환경의 안내를 선택하여 따릅니다.
      프로덕션프로덕션 환경의 경우 각 Hybrid 구성요소를 개별적으로 업그레이드하고 다음 구성요소로 진행하기 전에 업그레이드된 구성요소의 상태를 확인해야 합니다. - 현재 위치가 hybrid-files디렉터리인지 확인합니다.
- 재정의를 적용하여 Cassandra를 업그레이드합니다.
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore 
- 완료를 확인합니다.
              $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 포드가 준비된 경우에만 다음 단계로 진행합니다. 
- 재정의를 적용하여 원격 분석 구성요소를 업그레이드하고 완료를 확인합니다.
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
- Redis 구성요소를 가져옵니다.
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis 
- 재정의를 적용하여 조직 수준 구성요소(MART, Watcher, Apigee Connect)를 업그레이드하고 완료를 확인합니다.$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
- 재정의를 적용하여 환경을 업그레이드합니다. 다음 두 가지 중에서 선택할 수 있습니다.
- 환경별 환경: 한 번에 하나의 환경에 재정의를 적용하고 완료를 확인합니다. 환경마다 이 단계를 반복합니다.
                  $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 여기서 ENV_NAME은 업그레이드하는 환경의 이름입니다. 
- 한 번에 모든 환경: 한 번에 모든 환경에 재정의를 적용하고 완료 여부를 확인합니다.
                  $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
 
- 환경별 환경: 한 번에 하나의 환경에 재정의를 적용하고 완료를 확인합니다. 환경마다 이 단계를 반복합니다.
                  
- 재정의를 적용하여 virtualhosts구성요소를 업그레이드하고 완료를 확인합니다.$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
 비프로덕션대부분의 비프로덕션, 데모 또는 실험용 환경에서는 모든 구성요소에 재정의를 한 번에 적용할 수 있습니다. 비프로덕션 환경이 크고 복잡하거나 프로덕션 환경을 비슷하게 모방하는 경우 프로덕션 환경 업그레이드 안내를 참조하세요. - 현재 위치가 hybrid-files디렉터리인지 확인합니다.
- $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE 
- 상태를 파악합니다.
              $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
 
- 현재 위치가 
업그레이드 롤백
이전 업그레이드를 롤백하려면 다음 단계를 따르세요.
- 하이브리드 런타임 네임스페이스의 완료된 작업을 삭제합니다. 여기서 NAMESPACE는 재정의 파일에 지정된 네임스페이스(네임스페이스가 지정된 경우)입니다. 그렇지 않은 경우 기본 네임스페이스는 apigee입니다.kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- apigee-system네임스페이스에 대해 완료된 작업을 삭제합니다.- kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- apigeectl의 이전 버전이 포함된 디렉터리를 가리키도록- APIGEECTL_HOME변수를 변경합니다. 예를 들면 다음과 같습니다.- export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY 
- 롤백할 설치의 루트 디렉터리에서 apigeectl apply를 실행하고 포드 상태를 확인한 후apigeectl init를 실행합니다. 롤백하려는 버전에 원래 재정의 파일을 사용해야 합니다.- Hybrid 파일 디렉터리에서 apigeectl apply를 실행합니다.$APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILE여기서 ORIGINAL_OVERRIDES_FILE은 이전 버전 Hybrid 설치에 대한 재정의 파일의 상대 경로 및 파일 이름입니다(예: ./overrides/overrides1.9.yaml).
- 포드의 상태를 확인합니다.
        kubectl -n NAMESPACE get pods 여기서 NAMESPACE는 Apigee Hybrid 네임스페이스입니다. 
- apigeeds의 상태를 확인합니다.- kubectl describe apigeeds -n apigee - 다음과 비슷한 결과가 출력됩니다. - Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: running - apigeeds포드가 실행 중인 경우에만 다음 단계를 진행합니다.
- 다음 명령어를 실행하여 업그레이드 후 메시지 프로세서에 대한 새 복제본 수 값을 기록해 둡니다. 이 값이 이전에 설정한 값과 일치하지 않으면 재정의 파일의 값을 이전 구성과 일치하도록 변경하세요.apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2 다음과 비슷한 결과가 출력됩니다. autoScaler: minReplicas: 2 maxReplicas: 10
- apigeectl init을 실행합니다.- $APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE
 
- Hybrid 파일 디렉터리에서