Apigee Edge 4.19.01 롤백

Private Cloud용 Edge v4.19.01

Edge 4.19.01로 업데이트하는 동안 오류가 발생하면 구성요소를 제거한 다음 업데이트를 다시 시도하세요.

Edge 4.19.01을 다음 기능 출시 버전으로 롤백할 수 있습니다.

  • 버전 4.18.05
  • 버전 4.18.01
  • 버전 4.17.09*

* 4.19.01에서 4.17.09로 롤백하려면 Postgres를 롤백하는 것 외에도 실행할 수도 있습니다 4.18.01 또는 4.18.05로 롤백하는 경우 업그레이드 시 Postgres를 롤백할 필요가 없습니다. 프로세스에 Postgres 업데이트가 포함되지 않았습니다.

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

  1. 이전 기능 출시로 롤백합니다. 예: 4.19.01에서 4.18.05까지입니다.
  2. 동일한 출시에서 이전 업데이트 버전으로 롤백. 대상 예: 4.19.01.02부터 4.19.01.01까지입니다.

자세한 내용은 Apigee Edge 출시 버전을 참조하세요. 절차에 따라 다릅니다.

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

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

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

공통 코드가 있는 구성요소

다음 Edge 구성요소는 공통 코드를 공유합니다. 따라서 해당 노드에 있는 모든 구성요소를 롤백해야 합니다.

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

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

이전 기능 출시로 롤백

4.19.01에서 4.17.09로 롤백하려면 Postgres를 롤백하는 것 외에도 실행할 수도 있습니다 4.18.01 또는 4.18.05에서 롤백하는 경우 업그레이드 시 Postgres를 롤백할 필요가 없습니다. 프로세스에 Postgres 업데이트가 포함되지 않았습니다.

이전 기능 출시로 롤백하려면 구성요소:

  1. 롤링할 버전의 bootstrap.sh 파일을 다운로드합니다. 뒤로:

    • 4.18.05로 롤백하려면 bootstrap_4.18.05.sh을 다운로드합니다.
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh 
    • 4.18.01로 롤백하려면 bootstrap_4.18.01.sh를 다운로드합니다.
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • 4.17.09로 롤백하려면 bootstrap_4.17.09.sh을 다운로드합니다.
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
  2. 롤백할 구성요소를 중지합니다. <ph type="x-smartling-placeholder">
      </ph>
    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. 노드의 다른 구성요소를 롤백하려면 해당 구성요소만 중지합니다. <ph type="x-smartling-placeholder">
        </ph>
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. 수익 창출을 롤백하는 경우 모든 관리 서버 및 메시지에서 제거하세요. 프로세서 노드:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. 구성요소를 제거하여 노드에서 롤백합니다. <ph type="x-smartling-placeholder">
      </ph>
    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를 롤백하려면 /opt/nginx/conf.d 파일을 삭제하기만 하면 됩니다. edge-gateway 구성요소 그룹:
      cd /opt/nginx/conf.d
      rm -rf *
  5. apigee-setup의 4.19.01 버전을 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service의 4.18.05, 4.18.01 또는 4.17.09 버전을 설치합니다. 유틸리티와 그 종속 항목이 포함되어 있습니다 다음 예제는 4.17.09 버전 apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

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

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

  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. 롤백할 구성요소를 호스팅하는 각 노드에 대해 이 프로세스를 반복합니다.

4.19.01에서 4.17.09로 롤백하려면 Postgres를 롤백하는 것 외에도 실행할 수도 있습니다 4.18.01 또는 4.18.05에서 롤백하는 경우 업그레이드 시 Postgres를 롤백할 필요가 없습니다. 프로세스에 Postgres 업데이트가 포함되지 않았습니다.

이전 업데이트 버전으로 롤백

구성요소를 특정 출시 버전으로 롤백하려면 각 노드에서 다음을 수행합니다. 다음과 같습니다.

  1. 특정 요소 버전을 다운로드합니다.
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    여기서 component_version는 설치할 구성요소 및 업데이트 버전입니다. 예:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-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. 롤백할 구성요소를 호스팅하는 각 노드에 대해 이 프로세스를 반복합니다.

4.19.01에서 4.17.09로 롤백하려면 Postgres를 롤백하는 것 외에도 실행할 수도 있습니다 4.18.01 또는 4.18.05에서 롤백하는 경우 업그레이드 시 Postgres를 롤백할 필요가 없습니다. 프로세스에 Postgres 업데이트가 포함되지 않았습니다.

Postgres 9.6 업데이트 롤백

버전 4.17.09에서 4.19.01로 업그레이드한 경우 Edge 구성요소 외에도 Postgres가 업데이트됩니다.

마스터-대기 구성에서 Postgres를 업데이트할 때 Postgres 업데이트를 롤백하려면 다음 안내를 따르세요.

  • 새 대기 노드를 Postgres 마스터가 되도록 승격합니다. 새 Postgres 마스터는 동일한 버전으로 업데이트할 수 있습니다
  • 이전 대기 노드를 새 마스터의 대기 노드로 구성합니다. 이전 대기 노드 이전 Edge 설치와 동일한 버전입니다.
  • 애널리틱스 및 소비자 그룹에 새 마스터 및 대기 노드를 등록합니다.

롤백이 완료되면 이전 마스터 노드가 더 이상 필요하지 않습니다. 다음과 같은 작업을 할 수 있습니다. 이전 마스터 노드를 사용 중지합니다.

  1. 새 대기 Postgres 노드가 실행 중인지 확인합니다.
    /opt/apigee/apigee-service/bin/apigee-all status

    Postgres가 실행되고 있지 않으면 다음과 같이 시작합니다.

    /opt/apigee/apigee-service/bin/apigee-all start
  2. 이전 마스터 노드와 이전 대기 노드에서 Postgres가 중지되었는지 확인합니다.
    /opt/apigee/apigee-service/bin/apigee-all status

    Postgres가 실행 중이면 다음과 같이 중지합니다.

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. 설치된 경우 이전 대기 노드에서 Qpid를 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    드림
  4. 새 대기 노드를 Postgres 마스터로 승격합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 새 대기 노드를 새 마스터로 승격합니다.
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      메시지가 표시되면 'Apigee'의 Postgres 비밀번호를 입력합니다. 기본 사용자이며 "postgres"라는 두 가지 메서드를 가지고 있습니다.

    2. 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 지정합니다. 다음과 같습니다.
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. 새 마스터를 구성합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. 이전 대기 노드를 다시 빌드합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 지정합니다. 다음과 같습니다.
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. 이전 대기 노드에서 데이터 디렉터리를 삭제합니다.
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. 이전 대기 노드를 새 마스터의 대기 노드로 재구성합니다.
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Postgres가 이전 대기 노드에서 실행 중인지 확인합니다.
      /opt/apigee/apigee-service/bin/apigee-all status

      실행 중이 아니면 다음과 같이 시작합니다.

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. 새 마스터의 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 파일
  7. 다음 명령어를 실행하여 현재 애널리틱스 및 소비자 그룹 정보를 확인합니다. 를 클릭합니다.
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    이 명령어는 name 필드에 애널리틱스 그룹 이름을 반환합니다. consumer-groups 아래 name 필드에 소비자 그룹 이름을 입력합니다. 또한 는 이전 Postgres 마스터 노드와 대기 노드의 UUID를 postgres-server 필드 및 datastores 필드에 각각 입력됩니다. 다음과 같이 표시됩니다. 다음과 같은 형식으로 출력됩니다.

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }
  8. 다음 curl 명령어를 실행하여 이전 마스터의 UUID 주소를 가져옵니다. 이전 마스터 노드의 경우:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    출력 끝에 노드의 UUID가 다음과 같은 형식으로 표시됩니다.

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
    드림
  9. 이전 단계를 반복하여 이전 대기 노드와 새 대기 노드의 IP 주소를 가져옵니다. 있습니다.
  10. 소비자 그룹에서 이전 마스터 및 대기 노드를 삭제합니다.
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    여기서 axgroup-001consumer-group-001은 분석 및 소비자 그룹입니다 masterUUID,standbyUUID의 순서는 같습니다. 위의 최신 분석 및 소비자 그룹 정보를 볼 때 위에 나타납니다. 나 standbyUUID,masterUUID로 지정해야 할 수 있습니다.

    이제 consumer-groupsdatastores 속성이 비어 있습니다.

  11. 분석 그룹에서 이전 마스터 및 대기 노드를 삭제합니다.
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    이제 uuids 아래의 postgres-server 속성이 비어 있습니다.

  12. 새 PG 마스터 및 대기 노드를 애널리틱스 및 소비자 그룹에 등록합니다.
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. 분석 그룹을 확인합니다.
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    분석 그룹에 새 마스터 노드 및 대기 노드의 UUID가 표시됩니다. 소비자 그룹이 있습니다

  14. 에지 관리 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. 모든 Qpid 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. 모든 Postgres 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. 두 서버에서 다음 스크립트를 실행하여 복제 상태를 확인합니다. 시스템 복제가 성공적으로 이루어지도록 두 서버에 동일한 결과가 표시되어야 합니다.

    새 마스터에서 다음을 실행합니다.

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    마스터라고 표시되는지 확인합니다. 이전 대기 노드에서 다음을 수행합니다.

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    대기 상태라고 되어 있는지 확인합니다.

  18. 여러 API 요청을 한 후 이전 단계를 반복하여 노드가 싱크입니다.
  19. 다음 절차에 따라 이전 Postgres 마스터를 사용 중단합니다. Apigee Edge 업데이트 4.16.01/4.16.05~4.17.09

    또는 이전 마스터에서 Qpid를 제거하고 새 마스터 노드에 Qpid 설치하기 Qpid를 제거한 후 이전 마스터 노드와 동일합니다.

이전 마스터에서 Qpid를 제거하고 새 마스터에 Qpid를 설치합니다.

이전 마스터에서 Qpid를 제거하고 새 마스터에 설치하려면 다음 단계를 따르세요.

  1. 기존 마스터의 Qpid 포트 5672에 대한 액세스 차단 모든 메시지 프로세서에서 다음 명령어를 실행합니다.
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. 다음 명령어를 실행하여 Qpid 메시지 큐가 비어 있는지 확인합니다. 금지사항 대기 중인 모든 메시지가 처리될 때까지 Qpid를 제거합니다.
    qpid-stat -q

    이 명령어는 msg, msgIn, and msgOut 개수가 포함된 테이블을 표시합니다. msg=0에 모든 메일이 처리됩니다. 및 msgIn=msgOut

  3. 다음 명령어를 실행하여 이전 마스터의 Qpid 서버 UUID를 확인합니다. 확인할 수 있습니다. 절차 후반부를 위해 이 정보를 저장합니다.
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. 이전 마스터에서 Qpid를 중지합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Qpid 서버를 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. 분석 및 소비자 그룹에서 이전 Qpid 서버를 삭제합니다.
    curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. 주키퍼에서 이전 Qpid 서버를 삭제합니다.
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. 새 마스터에 Qpid를 설치합니다.
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. 다음 명령어를 실행하여 새 마스터의 Qpid 서버 UUID를 확인합니다. 새 마스터를 반환합니다. 절차 후반부를 위해 이 정보를 저장합니다.
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. 분석 및 소비자 그룹에 새 Qpid 서버를 등록합니다.
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. 모든 메시지 프로세서를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. 새 Qpid 서버에서 다음 명령어를 실행하여 큐가 생성되었는지 확인합니다.
    qpid-stat -q

    msg, msgIn, msgOut가 다음과 같이 표시되는지 확인합니다. Qpid 서버가 메시지를 처리할 때 업데이트됩니다.

롤백 시 문제가 발생하면 Apigee Edge 지원팀에 문의하세요.