データセンターの追加

Edge for Private Cloud v. 4.17.01

このドキュメントでは、データセンター(リージョン)を既存のデータに追加する方法について説明します。 選択します。

データセンターを追加する前の考慮事項

データセンターを追加する前に、OpenLDAP の構成方法、 データセンター全体で稼働する ZooKeeper、Cassandra、Postgres サーバー。また、kubectl の「get pods」 2 つのデータセンターのノード間で必要なポートが開放されている必要があります。

  • OpenLDAP
    各データセンターには、レプリケーションを有効にして構成された独自の OpenLDAP サーバーがあります。ユーザーが OpenLDAP でレプリケーションを使用するように構成し、 レプリケーションを使用するように既存のデータセンターの OpenLDAP サーバーを再構成する。
  • ZooKeeper
    次の ZK_HOSTS プロパティでは、 両方のデータセンターのすべての ZooKeeper ノードの IP アドレスまたは DNS 名を指定する すべてのノードを「:observer」修飾子でマークします。 「:observer」修飾子が付いていないノードは「ボーター」と呼ばれます。奇妙なものがあるはずです 「投票者」の数必要があります。

    このトポロジでは、ホスト 9 の ZooKeeper ホストがオブザーバーです。



    以下の構成ファイルの例では、ノード 9 に 「:observer」修飾子を追加して、ノード 1、2、3、7、8 の 5 つの投票者を用意します。

    ZK_CLIENT_HOSTS の場合 プロパティを使用して、ZooKeeper のみの IP アドレスまたは DNS 名を指定します。 データ内のすべての ZooKeeper ノードに対して同じ順序で 選択します。
  • Cassandra
    すべてのデータセンターに同じ数の Cassandra ノードが必要です。

    各データの CASS_HOSTS 用 両方のデータに(DNS 名ではなく)すべての Cassandra IP アドレスが指定されていることを確認します。 提供しますデータセンター 1 の場合は、そのデータセンター内の Cassandra ノードを最初にリストします。データセンター向け 2. そのデータセンター内の Cassandra ノードを最初にリストします。同じリージョンの Cassandra ノードを データセンター内のすべての Cassandra ノードの順序で並べます。

    すべての Cassandra ノードにはサフィックス ':<d>,<r>' が必要です。たとえば、'<ip>:1,1 = データセンター 1 およびラック/アベイラビリティ ゾーン 1 および '<ip>:2,1 = データセンター 2 および ラック/アベイラビリティ ゾーン 1.
    例: "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"

    各データセンターのラック/アベイラビリティ ゾーン 1 の最初のノードがシードとして使用されます。 あります。このデプロイモデルでは、Cassandra の設定は次のようになります。


  • Postgres
    デフォルトでは、すべての Postgres ノードがマスターモードでインストールされます。ただし、 Postgres ノードを構成してマスター / スタンバイ レプリケーションを使用し、 マスターノードで障害が発生しても、スタンバイ ノードはトラフィックの処理を継続できます。通常は 1 つのデータセンターにマスター Postgres サーバーを配置し、2 つ目のデータセンターにスタンバイ サーバーを配置します。 選択します。

    既存のデータセンターが 2 つの Postgres ノードを同じリージョン内で実行するようにすでに構成されている場合は、 既存のスタンバイ ノードを登録解除します。この手順では、既存のスタンバイ ノードを登録解除します。 新しいデータセンターのスタンバイ ノードに置き換えます。

    次の表に、両方のシナリオで変更前と変更後の Postgres の構成を示します。

    変更前

    変更後

    dc-1 に単一のマスター Postgres ノード

    dc-1 のマスター Postgres ノード

    dc-2 にスタンバイ Postgres ノード

    dc-1 のマスター Postgres ノード

    dc-1 にスタンバイ Postgres ノード

    dc-1 のマスター Postgres ノード

    dc-2 にスタンバイ Postgres ノード

    dc-1 の古いスタンバイ Postgres ノードの登録を解除します

  • ポート要件
    2 つのデータセンターのノード間で必要なポートを開く必要があります。 ポートの図については、インストール 要件

既存のデータセンターを更新する

データセンターを追加するには、新しいデータをインストールして構成する手順を行う必要があります。 ただし、元のデータセンターのノードを更新する必要もあります。これらの 変更する必要があるのは、新しい Cassandra ノードと ZooKeeper ノードを新しい 既存のデータセンターからアクセスできる必要があり、構成を再構成して、 OpenLDAP でレプリケーションを使用する。

構成ファイルの作成

以下に、2 つのデータセンターのサイレント構成ファイルを示します。 トポロジ。dc-1 の構成ファイルにより、次の設定が追加されます。

  • 2 つの OpenLDAP ノード間でレプリケーションを行うように OpenLDAP を構成します。
  • dc-2 の新しい Cassandra ノードと ZooKeeper ノードを dc-1 の構成ファイルに追加します。
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25

新しいデータセンターを追加する手順

この手順では、データセンターに次の名前を付けます。

  • dc-1: 既存のデータセンター
  • dc-2: 新しいデータセンター
  1. dc-1 の元の Cassandra ノードで setup.sh を再実行します。 dc-2 の Cassandra ノードを含む構成ファイルを作成します。
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. dc-1 の Management Server ノードで setup.sh を再実行します。
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. dc-2 で、すべてのノードに apigee-setup をインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
  4. dc-2 で、Cassandra と ZooKeeper を該当するノードにインストールします。
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. dc-2 の場合、すべての Cassandra ノードで rebuild コマンドを実行します。 dc-1 のリージョン名:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP 再ビルド dc-1
  6. dc-2 で、適切なノードに Management Server をインストールします。
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. dc-2 の適切なリージョンに Routes と Message Processor をインストールします。 ノード:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  8. dc-2 で、該当するノードに Qpid をインストールします。
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  9. dc-2 で、適切なノードに Postgres をインストールします。
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  10. Postgres ノードに Postgres マスター/スタンバイを設定します。dc-1 の Postgres ノードは、 dc-2 の Postgres ノードがスタンバイ サーバーになります。

    : dc-1 で 2 つの Postgres がすでに構成されている場合 ノードを使用する場合は、この手順の一環として dc-1 の既存のマスター Postgres ノードをマスターとし、 スタンバイ サーバーとしての dc-2 の Postgres ノード。この手順の後の部分では、 dc-1 の既存の Postgres スタンバイ サーバーの登録を解除します。
    1. dc-1 のマスターノードで、構成ファイルを編集して
      を設定します。 PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2 スタンバイIPorDNSofDC2Standby
    2. 新しいマスターでレプリケーションを有効にします。
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. dc-2 のスタンバイ ノードで、構成ファイルを編集して
      を設定します。 PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2 スタンバイIPorDNSofDC2Standby
    4. dc-2 のスタンバイ ノードで、サーバーを停止してからすべてのノードを削除します 既存の Postgres データ:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql の停止
      &gt;rm -rf /opt/apigee/data/apigee-postgresql/

      : このデータは、削除する前に必要に応じてバックアップできます。
    5. dc-2 でスタンバイ ノードを構成します。
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  11. dc-1 で、分析構成を更新し、組織を構成します。
    1. dc-1 の Management Server ノードで、Postgres の UUID を取得します。 node:
      &gt;apigee-adminapi.sh サーバー list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      返されたデータの最後に UUID が表示されます。その値を保存します。

      : dc-1 が 2 つの Postgres ノードを同じリージョンで実行するように構成されている場合、 マスター/スタンバイ モードでは、出力に 2 つの IP アドレスと UUID が表示されます。両方の UUID を保存します。 この IP から、どの UUID がマスターで、どの UUID が 作成されます。
    2. dc-2 の Management Server ノードで、Postgres の UUID を取得します。 ルートノードに追加します。その値を保存します。
    3. dc-1 の Management Server ノードで、ディレクトリの名前を確認します。 コンシューマグループなどがありますこの情報は、以下のコマンドの多くで必要になります。
      デフォルトでは、分析グループの名前は axgroup-001 で、コンシューマの名前は consumer-group-001 というグループです。リージョンのサイレント構成ファイルでは、デフォルト サービス アカウントの名前に 「AXGROUP」プロパティを使って分析グループのデータを抽出できます。

      分析グループとコンシューマ グループの名前がわからない場合は、以下を使用します。
      コマンドを使用して表示します。 &gt;apigee-adminapi.sh 分析 グループリスト --admin adminEmail --pwd adminPword --host localhost

      このコマンドは、name フィールドに分析グループ名を返し、コンシューマ グループを返します。 入力します。
    4. dc-1 の Management Server ノードで、既存の Postgres を削除します。 2 つのデータソースから構成されます。 <ph type="x-smartling-placeholder">
        </ph>
      1. コンシューマ グループから Postgres ノードを削除します。
        &gt;apigee-adminapi.sh 分析グループ consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        dc-1 が 2 つの Postgres ノードを実行するように構成されている場合、 マスター/スタンバイ モード、両方削除:
        &gt;apigee-adminapi.sh 分析グループ consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. 分析グループから Postgres ノードを削除します。
        &gt;apigee-adminapi.sh 分析グループ postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        dc-1 が 2 つの Postgres ノードをマスター/スタンバイ モードで実行するように構成されている場合は、 両方:
        &gt;apigee-adminapi.sh 分析グループ postgres_server remove -g axgroup-001 -u UUID1、UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
    5. dc-1 の Management Server ノードで、新しいマスター/スタンバイ ノードを追加します。 Postgres サーバーから分析グループへ: <ph type="x-smartling-placeholder">
        </ph>
      1. 両方の Postgres サーバーを分析グループに追加します。
        &gt;apigee-adminapi.sh 分析グループ postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        ここで、UUID_1 は VM 内のマスター Postgres ノードです。 dc-1UUID_2 はスタンバイ Postgres に対応します。 dc-2 のノード。
      2. PG サーバーをマスター/スタンバイとしてコンシューマ グループに追加します:
        &gt;apigee-adminapi.sh Analytics groups consumer_groups datastores add -g axgroup-001 -c consumer-group-001 -u 「UUID_1,UUID_2」--admin adminEmail --pwd adminPword --host localhost
    6. dc-2 の Qpid サーバーを分析グループに追加します。 <ph type="x-smartling-placeholder">
        </ph>
      1. dc-1 の Management Server ノードで、Qpid の UUID を取得します。 dc-2 のノード:
        &gt;apigee-adminapi.sh server list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        返されたデータの最後に UUID が表示されます。これらの値を保存します。
      2. dc-1 の Management Server ノードで、Qpid ノードを 分析グループ:
        &gt;apigee-adminapi.sh 分析グループ qpid_server add -g axgroup-001 -u UUID_1 --admin adminEmail --pwd adminPword --host localhost
        >apigee-adminapi.sh analytics groups qpid_server add -g axgroup-001 -u UUID_2 --admin adminEmail --pwd adminPword --host localhost
      3. dc-1 の Management Server ノードで、Qpid ノードを コンシューマ グループ:
        &gt;apigee-adminapi.sh 分析グループ consumer_groups consumer add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. dc-1 の古い Postgres スタンバイ サーバーを登録解除して削除します。 <ph type="x-smartling-placeholder">
        </ph>
      1. 既存の dc-1 Postgres スタンバイ サーバーを登録解除します。
        &gt;apigee-adminapi.sh server deregister -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        UUID は古いスタンバイ dc-1 の Postgres ノード。
      2. 既存の dc-1 Postgres スタンバイ サーバーを削除します。
        : このコマンドでは、Postgres サーバーノードはアンインストールされません。これは、 Edge ノードのリストからのみ削除されます。Postgres は、後で VM から kube-APIserver に送信します。
        &gt;apigee-adminapi.sh サーバーの削除 -u UUID --admin adminEmail --pwd adminPword --host localhost
  12. 2 つのデータセンターの正しいレプリケーション係数を使用して Cassandra キースペースを更新します。マイページ この手順は、いずれかのデータセンターの Cassandra サーバーで 1 回だけ実行する必要があります。

    : 以下のコマンドはすべて、レプリケーション係数を「3」に設定します。 3 つの Cassandra ノードが必要です。実際のインストールに応じて、この値を変更します。
    1. Cassandra cqlsh ユーティリティを起動します。
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. 「cqlsh>」で次の CQL コマンドを実行します。レプリケーションを設定 次のとおりです。 <ph type="x-smartling-placeholder">
        </ph>
      1. cqlsh&gt;変更 KEYSPACE「identityzone」WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3'}
      2. cqlsh&gt;キースペースの変更 system_tracesWITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3'};
      3. 次のコマンドを使用して、キースペースを表示します。
        cqlsh&gt;select * from system.schema_keyspaces;
      4. cqlsh を終了します。
        cqlsh&gt;終了
  13. dc-1 のすべての Cassandra ノードで次の nodetool コマンドを実行して、メモリを解放します。
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP クリーンアップ
  14. データ全体でサポートする組織ごとおよび環境ごと <ph type="x-smartling-placeholder">
      </ph>
    1. dc-1 の Management Server ノードで新しい MP_POD を 組織:
      &gt;apigee-adminapi.sh 組織の Pod add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      ここで、gateway-2 は MP_POD で定義されたゲートウェイ Pod の名前です。 プロパティを設定する必要があります。
    2. 新しい Message Processor を組織と環境に追加します。 <ph type="x-smartling-placeholder">
        </ph>
      1. dc-2 の Management Server ノードで、使用しているアプリケーションの UUID を取得します。 dc-2 の Message Processor ノード:
        &gt;apigee-adminapi.sh server list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        返されたデータの最後に UUID が表示されます。これらの値を保存します。
      2. dc-1 の Management Server ノードで、各 Message Processor を作成します。 dc-2 で、Message Processor を組織の環境に追加します。
        &gt;apigee-adminapi.sh 組織 envs server add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. dc-1 の Management Server ノードで、組織を確認します。
      &gt;apigee-adminapi.sh orgs API deployment -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      ここで、apiProxyName はインスタンスにデプロイされた API プロキシの名前です。 できます。