4.18.01 ロールバック プロセス

Edge for Private Cloud v4.18.01

Edge 4.18.01 への更新中にエラーが発生した場合は、コンポーネントをロールバックできます。 更新してみてください。たとえば、Postgres 9.6 への更新が Postgres ノードのみをロールバックして更新を再試行できます。

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

  1. 古いリリースにロールバックします。たとえば、4.18.01 から 4.17.01 へのコピーです。
  2. 同じリリースの古いバージョンにロールバックする。

どちらの場合も、以下の手順でロールバックを行います。

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

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

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

ロールバックできるコンポーネント

ロールバックを実行する場合は、次の条件に注意してください。

  • 以下に挙げる 5 つの Edge コンポーネントは、共通のコードを使用しています。したがって、任意の 1 つのインスタンスをロールバックするには、 ノードにインストールされた 5 つのコンポーネントのいずれかをロールバックする必要があります。対象 Management Server、Router、Message Processor を そのうちの 1 つをロールバックするには、3 つすべてをロールバックする必要があります。

    コードを共有する 5 つのコンポーネントは次のとおりです。

    • 管理サーバー
    • ルーター
    • Message Processor
    • Qpid サーバー
    • Postgres サーバー
  • Edge 4.16.01 から更新する場合、Cassandra をロールバックしないでください。この Edge のリリースに Cassandra の更新版が含まれています。コンポーネントをロールバックする場合は、 4.18.01 バージョンの Cassandra。

4.18.01 のロールバック

このセクションでは、Edge 4.18.01 を以前のバージョンにロールバックする手順について説明します。この セクションは 2 つの部分に分かれています。

  • Postgres の更新のロールバック
    すべての更新手順の最後に、Postgres ノードをバージョン 9.6 に更新します。もしそうなら 失敗した場合は、次の手順で更新をロールバックできます。
  • 他のすべての Edge コンポーネントをロールバックする
    他の Edge コンポーネントをロールバックするには、この手順を使用します。

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

マスター / スタンバイ構成で 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 が分析グループに表示されます。 ユーザーグループです

  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 をインストールすることもできます。 内部 IP アドレスを使用して通信できますQpid のアンインストール後、旧マスターを廃止できます。 あります。

旧マスターから Qpid をインストールし、新しいマスターに Qpid をインストールする

次の手順で、旧マスターから Qpid をアンインストールし、新しいマスターに Qpid をインストールします。 master:

  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

    msg、msgIn、msgOut が Qpid サーバーとして更新されていることを確認します。 メッセージを処理します。

個々のコンポーネントを 4.18.01

ロールバックの実行の一環として、アプリケーション用に bootstrap.sh ファイルをダウンロードする必要があります。 次のとおりです。

  • 4.17.09 にロールバックする場合は、bootstrap_4.17.09.sh をダウンロードします。
  • 4.17.05 にロールバックする場合は、bootstrap_4.17.05.sh をダウンロードします。
  • 4.17.01 にロールバックする場合は、bootstrap_4.17.01.sh をダウンロードします。
  • 4.16.09 にロールバックする場合は、bootstrap_4.16.09.sh をダウンロードします。
  • 4.16.05 にロールバックする場合は、bootstrap_4.16.05.sh をダウンロードします。
  • 4.16.01 にロールバックする場合は、bootstrap.sh をダウンロードします。

ロールバックするコンポーネントをホストしているノードごとに、次の操作を行います。

  1. ロールバックするコンポーネントを停止します。 <ph type="x-smartling-placeholder">
      </ph>
    1. ノード上の次のいずれかのコンポーネントをロールバックする場合は、 Management Server、Router、Message Processor、Qpid Server、Postgres などの サーバー: <ph type="x-smartling-placeholder">
        </ph>
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. ノード上の他のコンポーネントをロールバックする場合は、そのコンポーネントだけを停止する component: <ph type="x-smartling-placeholder">
        </ph>
      • > apigee-service comp stop
  2. Monetization をロールバックする場合は、すべての Management Server および Message プロセッサ ノード:
    > apigee-service edge-mint-gateway uninstall
  3. ロールバックするコンポーネントをノードからアンインストールします。 <ph type="x-smartling-placeholder">
      </ph>
    1. ノード上の次のいずれかのコンポーネントをロールバックする場合、 Management Server、Router、Message Processor、Qpid Server、Postgres などのすべてのプロダクトをアンインストールできます。 サーバー:
      > apigee-service edge-gateway uninstall
    2. ノード上の他のコンポーネントをロールバックする場合は、そのコンポーネントのみをアンインストールする component:
      > apigee-service comp uninstall
    3. Router をロールバックする場合は、事前にその Router を /opt/nginx/conf.d の内容:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. コンポーネントをロールバックするには: <ph type="x-smartling-placeholder">
      </ph>
    1. バージョン 4.18.01 の apigee-setup をアンインストールします。
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. 目的のリリースの bootstrap.sh をダウンロードします。たとえば、4.16.09 の場合です。
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. 4.16.01、4.16.05、または 4.16.09 の apigee-service ユーティリティをインストールします。 確認します。たとえば、4.16.09 の場合:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      uNamepWord は、受け取ったユーザー名とパスワードです。 Apigee からデプロイできます。pWord を省略すると、名前の入力を求められます。 できます。

    4. apigee-setup をインストールします。
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. 目的のバージョンのコンポーネントをインストールします。
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      ここで、comp はインストールするコンポーネント、configFile は実際のコンポーネントです。 構成ファイルを指定します。

    6. Qpid をロールバックする場合は、iptables をフラッシュします。
      > sudo iptables -F
  5. コンポーネントを 4.18.01 リリースの特定のバージョンにロールバックするには: <ph type="x-smartling-placeholder">
      </ph>
    1. 特定のコンポーネント バージョンをダウンロードします。
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      ここで、comp-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

      コンポーネント名はインストール時にのみ指定します。

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