Apigee Edge 4.18.05 のロールバック

Edge for Private Cloud v4.18.05

Edge 4.18.05 への更新中にエラーが発生した場合は、 コンポーネントを確認してから、再度アップデートを試みてください。

Edge 4.18.05 は次の機能リリース バージョンにロールバックできます。

  • バージョン 4.18.01
  • バージョン 4.17.09*
  • バージョン 4.17.05*

* 4.18.05 から 4.17.09 または 4.17.05 にロールバックするには、 Compute Engine 上のコンポーネントをロールバックするだけでなく、Postgres をロールバックします。 計算します。4.18.01 にロールバックする場合、アップグレード時に Postgres をロールバックする必要はありません。 Postgres のアップデートが含まれていませんでした。

ロールバックを実行するシナリオは 2 つあります。

  1. 以前の機能リリースにロールバックするたとえば、 4.18.05 ~ 4.18.01
  2. 同じリリースの以前の更新バージョンにロールバックする。対象 (例: 4.18.05.02 から 4.18.05.01 へ)を指定します。

詳細については、Apigee Edge リリースをご覧ください。 プロセスをご覧ください。

ロールバックを実行できるユーザー

ロールバックを実行するユーザーは、最初に Edge を更新したユーザーと同じである必要があります。または、 ユーザーです。

デフォルトでは、Edge コンポーネントはユーザー「apigee」として実行されます。場合によっては 異なるユーザーとして識別されます。たとえば、ルーターが次のような特権ポートにアクセスする必要がある場合、 root またはアクセス権のあるユーザーとして Router を実行する必要があります。 ポート。また、あるコンポーネントをあるユーザーとして実行し、別のコンポーネントを別のユーザーとして実行することもできます。

共通のコードを使用するコンポーネント

次の Edge コンポーネントは共通のコードを共有しています。したがって、任意の 1 つのインスタンスを そのノード上にあるこれらのコンポーネントをすべてロールバックする必要があります。

  • edge-management-server(Management Server)
  • edge-message-processor(Message Processor)
  • edge-router(ルーター)
  • edge-postgres-server(Postgres Server)
  • edge-qpid-server(Qpid Server)

たとえば、Management Server、Router、Message Processor を いずれかをロールバックするには、3 つすべてをロールバックする必要があります。

以前の機能リリースにロールバックする

4.18.05 から 4.17.09 または 4.17.05 にロールバックするには、 Postgres をロールバックするだけでなく、 計算します。4.18.01 からロールバックする場合は、アップグレード時に Postgres をロールバックする必要はありません。 Postgres のアップデートが含まれていませんでした。

以前の機能リリースにロールバックするには、 component:

  1. ロールするバージョンの bootstrap.sh ファイルをダウンロードします back:

    • 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 
    • 4.17.05 にロールバックするには、bootstrap_4.17.05.sh をダウンロードします。
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.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. Monetization をロールバックする場合は、すべての Management Server および Message プロセッサ ノード:
    /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. バージョン 4.18.05 の apigee-setup をアンインストールします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. バージョン 4.18.01、4.17.09、または 4.17.05 の apigee-service をインストールします。 その依存関係について説明します。次の例では、バージョン 4.17.09 の apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

    uNamepWord は、取得したユーザー名とパスワードです。 Apigee からデプロイできます。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 をロールバックする場合は、iptables をフラッシュします。
    sudo iptables -F
  10. ロールバックするコンポーネントをホストするノードごとに、この手順を繰り返します。

4.18.05 から 4.17.09 または 4.17.05 にロールバックするには、 Postgres をロールバックするだけでなく、GKE 上のコンポーネントをロールバックします。 計算します。4.18.01 からロールバックする場合は、アップグレード時に 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.18.05 から 4.17.09 または 4.17.05 にロールバックするには、 Postgres をロールバックするだけでなく、 計算します。4.18.01 からロールバックする場合は、アップグレード時に Postgres をロールバックする必要はありません。 Postgres のアップデートが含まれていませんでした。

Postgres 9.6 の更新をロールバックする

バージョン 4.17.05 または 4.17.09 から 4.18.05 にアップグレードした場合、 Edge コンポーネントに加えて Postgres が更新されます。

マスター / スタンバイ構成で Postgres を更新するときに、Postgres の更新をロールバックするには:

  • 新しいスタンバイ ノードを Postgres マスターに昇格させます。新しい Postgres マスターは 前の Edge インストール環境と同じバージョンにする必要があります。
  • 古いスタンバイ ノードを新しいマスターのスタンバイ ノードとして構成します。旧スタンバイ ノード 以前の Edge インストールと同じバージョンになります。
  • 新しいマスターノードとスタンバイ ノードを、分析グループとコンシューマ グループに登録します。

ロールバックが完了したら、古いマスターノードは必要なくなります。Google Chat では 古いマスターノードを廃止します

  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 がインストールされている場合は、古いスタンバイ ノードで 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. 次のコマンドを実行して、現在の分析グループとコンシューマ グループの情報を表示します。 Management Server で次のように設定します。
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    このコマンドは、name フィールドに分析グループ名を返し、 consumer-groupsname フィールドにコンシューマ グループ名を指定します。また、 クラスタ内の古い 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

    uuidspostgres-server プロパティが空になっているはずです。

  12. 新しい PG マスターノードと 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 が分析グループに表示されます。 2 つのグループがあります

  14. Edge Management Server を再起動します。
    /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 へのアクセスをブロックして Message Processor がアクセスできないようにします。 すべての Message Processor で次のコマンドを実行します。
    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 Server をアンインストールします。
    /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. Zookeeper から古い 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. すべての Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. 新しい Qpid サーバーで次のコマンドを実行して、キューが作成されたことを確認します。
    qpid-stat -q

    msgmsgInmsgOut が次のようになっていることを確認します。 Qpid サーバーがメッセージを処理すると更新されます。

ロールバック時に問題が発生した場合は、Apigee Edge サポートにお問い合わせください。