Apigee Edge 4.52.02 롤백

Edge 4.52.02로 업데이트하는 동안 오류가 발생하면 오류의 원인이 된 구성요소를 롤백한 다음 업데이트를 다시 시도할 수 있습니다.

Edge 4.52.02를 다음 주 출시 버전으로 롤백할 수 있습니다.

  • 버전 4.52.01
  • 버전 4.52.00
  • 버전 4.51.00

버전을 롤백하려면 업그레이드한 모든 구성요소를 롤백해야 합니다. 또한 시작 버전에 따라 특정 소프트웨어 구성요소를 롤백하기 전에 특별한 고려사항을 고려해야 할 수도 있습니다. 아래 표에는 롤백 중에 특별한 단계가 필요할 수 있는 다양한 소프트웨어가 나와 있습니다.

버전으로 롤백 소프트웨어에 대한 특별한 고려사항
4.52.01 Cassandra
4.52.00 Cassandra, 주키퍼, Qpid
4.51.00 Cassandra, 동물원, Qpid, Postgres

롤백을 수행해야 할 수 있는 두 가지 시나리오는 다음과 같습니다.

  1. 이전 주 또는 부 출시 버전으로 롤백합니다. 예를 들어 4.52.02에서 4.52.00까지입니다.
  2. 동일한 출시의 이전 패치 출시 버전으로 롤백합니다. 예: 4.52.00.02에서 4.52.00.01까지

자세한 내용은 Apigee Edge 출시 프로세스를 참조하세요.

롤백 순서

구성요소 롤백은 업그레이드의 역순으로 수행해야 합니다. 단, Cassandra 이후 관리 서버를 롤백해야 합니다.

Private Cloud 4.52.02의 일반적인 롤백 순서는 다음과 같습니다.

  1. Postgres, Qpid, 기타 분석 관련 구성요소 롤백
  2. 라우터 및 메시지 프로세서 롤백
  3. Cassandra 롤백, 주키퍼
  4. 롤백 관리 서버

예를 들어 Cassandra 클러스터 전체, 모든 관리 서버 및 일부 RMP를 버전 4.52.01에서 버전 4.52.02로 업그레이드하여 롤백하려고 한다고 가정해 보겠습니다. 이 경우 다음을 수행합니다.

  1. 모든 RMP를 하나씩 롤백
  2. 백업을 사용하여 전체 Cassandra 클러스터 롤백
  3. 에지 관리 서버 노드를 하나씩 롤백

롤백을 수행할 수 있는 사용자

롤백을 수행하는 사용자는 Edge를 원래 업데이트한 사용자 또는 루트로 실행 중인 사용자와 동일해야 합니다.

기본적으로 Edge 구성요소는 사용자 'Apigee'로 실행됩니다. 경우에 따라 Edge 구성요소를 다른 사용자로 실행할 수 있습니다. 예를 들어 라우터가 1,000개 미만의 권한 있는 포트에 액세스해야 한다면 루트로 또는 해당 포트에 액세스할 수 있는 사용자로 라우터를 실행해야 합니다. 또는 하나의 구성 요소를 한 사용자로, 다른 구성 요소를 다른 사용자로 실행할 수 있습니다.

공통 코드가 있는 구성요소

다음 Edge 구성요소는 공통 코드를 공유합니다. 따라서 노드에서 이러한 구성요소 중 하나를 롤백하려면 해당 노드에 있는 이러한 구성요소를 모두 롤백해야 합니다.

  • edge-management-server (관리 서버)
  • edge-message-processor (메시지 프로세서)
  • edge-router (라우터)
  • edge-postgres-server (Postgres 서버)
  • edge-qpid-server (Qpid 서버)

예를 들어 노드에 관리 서버, 라우터, 메시지 프로세서가 설치되어 있는 경우 이들 중 하나를 롤백하려면 세 가지를 모두 롤백해야 합니다.

Cassandra 롤백

특정 Cassandra 노드에서 Cassandra의 주요 업그레이드가 수행되면 Cassandra가 노드에 저장된 데이터의 스키마를 수정하므로 직접 롤백이 불가능합니다. 롤백하는 방법에는 두 가지가 있습니다. 롤백할 업그레이드의 상태에 따라 다음 방법 중 하나를 사용합니다.

롤백 방법

클러스터에서 기존 노드를 삭제하고 기존 노드를 사용하여 노드를 다시 빌드합니다.

이전 버전의 Cassandra (Cassandra 2.1.22)를 사용하는 클러스터에 완전히 작동하는 데이터 센터가 하나 이상 있는 경우 이 절차를 따를 수 있습니다. 전체 Cassandra 클러스터를 업그레이드한 후 롤백하려면 백업 또는 VM 스냅샷 삭제 및 복원의 단계를 따라야 합니다.

롤백 단계

  1. 롤백할 노드로 시작합니다.
    • 다음 노드에서 Cassandra를 중지합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
      노드에서 Cassandra 소프트웨어를 제거합니다.
    • 노드에서 데이터 디렉터리를 삭제합니다.
      rm -rf /opt/apigee/data/apigee-cassandra
    • 롤백하려는 이전 버전의 Private Cloud용 Edge 부트스트랩을 다운로드하고 실행합니다.

    예: 4.52.01로 롤백하려면

    • 4.52.01 부트스트랩 다운로드:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • 4.52.01의 부트스트랩을 실행합니다.
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • 노드에서 Cassandra를 설정합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • 기능적인 데이터 센터의 이름을 제공하여 노드에서 재빌드를 실행합니다.
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • 롤백하려는 각 노드에서 한 번에 하나씩 위 단계를 반복합니다.
  2. 모든 노드가 롤백되고 다시 빌드되면 다음을 수행합니다.
    • 관리 서버 노드의 설정을 실행합니다. 관리 서버가 롤백된 버전인지 확인합니다. 그렇지 않은 경우 관리 서버도 롤백합니다.
    • 관리 서버를 중지합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • 수익 창출을 사용하는 경우 수익 창출도 제거합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • 관리 서버를 제거합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • 이전 버전의 부트스트랩을 다운로드하고 실행합니다. 예를 들어 다음 단계를 실행하여 버전 4.52.01의 부트스트랩을 다운로드하고 실행합니다.
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • 관리 서버 노드 1개의 설정을 실행합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

재빌드 후 최적화

위의 단계에서는 노드의 모든 데이터가 재빌드 중에 원격 데이터 센터에서 스트리밍됩니다. 모든 복제본이 로컬 데이터 센터로 스트리밍되면 복구를 사용하여 이 프로세스를 최적화할 수 있습니다. 이렇게 하면 교차 DC 스트리밍이 방지되며 원격 DC에서 모든 노드를 다시 빌드하는 것보다 속도가 빠릅니다.

예: 로컬 데이터 센터에 6개의 Cassandra 노드가 있다고 가정해 보겠습니다. 기본적으로 Apigee의 복제 인수는 3이므로 모든 노드가 데이터의 50% 를 소유합니다. 이 경우 위의 절차에 따라 노드 1과 4를 다시 빌드할 수 있습니다. 노드 2, #3, #5, #6의 경우 아래 단계에 따라 백업을 복원하고 복구를 실행합니다.

  1. 문서에 설명된 대로 최대 6단계를 따라 로컬 데이터 센터에서 복제본을 다시 빌드합니다.
  2. 나머지 노드의 경우 남아 있는 각 노드에서 한 번에 하나씩 아래 단계를 따릅니다.
    • 이 노드에서 캡처한 백업을 복원합니다 (참고: Cassandra 업그레이드를 시작하기 전에 이 백업이 생성되었으므로 이 백업에는 오래된 데이터가 있을 수 있습니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • 노드의 VM 스냅샷이 있는 경우 Cassandra 백업을 복원하는 대신 스냅샷을 복원할 수 있습니다.
    • 백업이 복원된 후 노드에서 Cassandra 서비스를 시작합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • 기존 데이터 센터에서 최신 데이터를 스트리밍할 수 있도록 노드에서 복구를 실행합니다.
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • 복구하려는 각 노드에서 3~6단계를 반복합니다.

백업/VM 스냅샷 삭제 및 복원

이 절차는 Cassandra 클러스터 전체를 업그레이드했고 롤백하려는 경우 유일하게 사용할 수 있습니다.

또한 Apigee 백업은 노드별로 다릅니다. 한 노드에서 다른 노드로 가져온 백업을 복원할 수는 없습니다. Cassandra 백업에는 노드 메타데이터 정보 (예: IP 주소, 링 위치 등)가 포함됩니다.

  1. 클러스터의 Cassandra 노드 1개로 시작:
    • 다음 노드에서 Cassandra 서비스를 중지합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
      노드에서 Cassandra 소프트웨어를 제거합니다.
    • 노드에서 데이터 디렉터리를 삭제합니다.
      rm -rf /opt/apigee/data/apigee-cassandra
    • 롤백하려는 이전 버전의 Private Cloud용 Edge 부트스트랩을 다운로드하고 실행합니다.

    예: 4.52.01로 롤백

    • 4.52.01 부트스트랩 다운로드:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • 4.52.01의 부트스트랩을 실행합니다.
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • 노드에서 Cassandra를 설정합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • 백업에서 복원의 절차를 사용하여 노드에서 백업을 복원합니다.
    • 다음 노드에서 Cassandra를 중지합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • 데이터 디렉터리 삭제:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • 백업을 복원합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
      노드에서 Cassandra 서비스를 시작합니다.
    • 각 Cassandra 노드에서 한 번에 하나씩 단계를 반복합니다.
    • 노드에서 한 번에 하나씩 복구 실행:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

주키퍼 3.8.3 업데이트 롤백

4.52.00 또는 4.51.00 버전으로 롤백하는 경우 주키퍼를 롤백하기 전에 몇 가지 특별 단계를 참조해야 합니다. 이 단계는 롤백에 나와 있습니다.

버전 4.52.01로 롤백하는 경우 아래의 이전 주 또는 부 출시 버전으로 롤백 섹션에 나열된 대로 소프트웨어를 롤백할 때와 마찬가지로 주키퍼를 롤백하세요.

Qpid 롤백

4.52.00 또는 4.51.00 버전으로 롤백하는 경우 Qpid를 롤백하기 전에 몇 가지 특별한 단계를 참조해야 합니다. 이 단계는 롤백에 나와 있습니다.

버전 4.52.01로 롤백하는 경우 이전 주/부 출시 버전으로 롤백에 나열된 대로 Qpid를 롤백하는 것처럼 모든 소프트웨어를 롤백할 수 있습니다.

Postgres 10.17 업데이트 롤백

버전 4.51.00으로 롤백하는 경우 Postgres를 롤백하기 전에 몇 가지 특별한 단계를 참조해야 합니다. 이 단계는 롤백에 나와 있습니다.

버전 4.52.01 또는 4.52.00으로 롤백하는 경우 아래의 이전 주 또는 부 출시 버전으로 롤백 섹션에 나열된 대로 소프트웨어를 롤백하듯이 Postgres를 롤백합니다.

이전 주 또는 부 출시 버전으로 롤백

이전의 주 또는 부 출시 버전으로 롤백하려면 구성요소를 호스팅하는 각 노드에서 다음을 수행합니다.

  1. 롤백하려는 버전의 bootstrap.sh 파일을 다운로드합니다.

    • 4.51.00으로 롤백하려면 bootstrap_4.51.00.sh을 다운로드합니다.
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. 롤백할 구성요소를 중지합니다.
    1. 노드에서 공통 코드가 있는 구성요소를 롤백하려면 다음 예와 같이 모두 중지해야 합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
       /opt/apigee/apigee-service/bin/apigee-service edge-router stop
       /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
       /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
       /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. 노드의 다른 구성요소를 롤백하려면 해당 구성요소만 중지합니다.
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. 수익 창출을 롤백하는 경우 모든 관리 서버 및 메시지 프로세서 노드에서 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. 구성요소를 제거하여 노드에서 롤백합니다.
    1. 노드에서 공통 코드가 있는 구성요소를 롤백하려면 다음 예에 표시된 대로 edge-gateway 구성요소 그룹을 제거하여 모두 제거해야 합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. 노드의 다른 구성요소를 롤백하려면 다음 예와 같이 해당 구성요소만 제거합니다.
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      여기서 component은 구성요소 이름입니다.

    3. Edge Router를 롤백하려면 edge-gateway 구성요소 그룹을 제거하는 것 외에 /opt/nginx/conf.d 파일의 콘텐츠도 삭제해야 합니다.
      cd /opt/nginx/conf.d
       rm -rf *
  5. apigee-setup의 4.52.02 버전을 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service 유틸리티의 4.51.00 버전과 종속 항목을 설치합니다. 다음 예에서는 apigee-service의 4.51.00 버전을 설치합니다.
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    여기서 uNamepWord는 Apigee에서 받은 사용자 이름과 비밀번호입니다. pWord를 생략하면 입력하라는 메시지가 표시됩니다.

    오류가 발생하면 1단계에서 bootstrap.sh 파일을 다운로드했는지 확인하세요.

  7. apigee-setup 설치:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. 이전 버전의 구성요소를 설치합니다.
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    여기서 component는 설치할 구성요소이고 configFile는 이전 버전의 구성 파일입니다.

  9. Qpid를 롤백하는 경우 다음과 같이 iptable을 플러시합니다.
    sudo iptables -F
  10. 롤백할 구성요소를 호스팅하는 각 노드에 대해 이 프로세스를 반복합니다.

이전 패치 출시로 롤백

구성요소를 특정 패치 출시로 롤백하려면 구성요소를 호스팅하는 각 노드에서 다음을 수행합니다.

  1. 구체적인 구성요소 버전(
    /opt/apigee/apigee-service/bin/apigee-service component_version install
    )을 다운로드합니다.

    여기서 component_version는 설치할 구성요소 및 패치 출시 버전입니다. 예를 들면 다음과 같습니다.

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

    Apigee 온라인 저장소를 사용하는 경우

    yum --showduplicates list comp
    명령어를 사용하여 사용 가능한 구성요소 버전을 확인할 수 있습니다.

    예를 들면 다음과 같습니다.

    yum --showduplicates list edge-ui
  2. apigee-setup를 사용하여 구성요소를 설치합니다.
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    예를 들면 다음과 같습니다.

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    구성요소를 설치할 때는 버전이 아닌 구성요소 이름만 지정합니다.

  3. 롤백할 구성요소를 호스팅하는 각 노드에 대해 이 프로세스를 반복합니다.

mTLS 롤백

mTLS 업데이트를 롤백하려면 모든 호스트에서 다음 단계를 수행합니다.

  1. Apigee 중지:
    apigee-all stop
  2. mTLS 중지:
    apigee-service apigee-mtls uninstall
  3. mTLS 재설치:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf