Edge for Private Cloud v. 4.17.09
このドキュメントでは、データセンター(リージョン)を既存のデータに追加する方法について説明します。 選択します。
データセンターを追加する前の考慮事項
データセンターを追加する前に、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 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 SMTPMAILFROM="My Company <myco@company.com>" |
# 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 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 SMTPMAILFROM="My Company <myco@company.com>" |
新しいデータセンターを追加する手順
この手順では、データセンターに次の名前を付けます。
- dc-1: 既存のデータセンター
- dc-2: 新しいデータセンター
- dc-1 の元の Cassandra ノードで setup.sh を再実行します。
dc-2 の Cassandra ノードを含む構成ファイルを作成します。
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1 - dc-1 の Management Server ノードで setup.sh を再実行します。
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1 - dc-2 で、すべてのノードに apigee-setup をインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
- dc-2 で、Cassandra と ZooKeeper を該当するノードにインストールします。
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2 - dc-2 の場合、すべての Cassandra ノードで rebuild コマンドを実行します。
dc-1 のリージョン名:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP 再ビルド dc-1 - dc-2 で、適切なノードに Management Server をインストールします。
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2 - dc-2 の Management Server ノードに、プロジェクトをインストールします。
apigee-provision:
apigee-adminapi.sh ユーティリティ:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision install - dc-2 の適切なリージョンに Routes と Message Processor をインストールします。
ノード:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2 - dc-2 で、該当するノードに Qpid をインストールします。
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2 - dc-2 で、適切なノードに Postgres をインストールします。
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2 - Postgres ノードに Postgres マスター/スタンバイを設定します。dc-1 の Postgres ノードは、
dc-2 の Postgres ノードがスタンバイ サーバーになります。
注: dc-1 で 2 つの Postgres がすでに構成されている場合 ノードを使用する場合は、この手順の一環として dc-1 の既存のマスター Postgres ノードをマスターとし、 スタンバイ サーバーとしての dc-2 の Postgres ノード。この手順の後の部分では、 dc-1 の既存の Postgres スタンバイ サーバーの登録を解除します。- dc-1 のマスターノードで、構成ファイルを編集して
を設定します。 PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2 スタンバイIPorDNSofDC2Standby - 新しいマスターでレプリケーションを有効にします。
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle - dc-2 のスタンバイ ノードで、構成ファイルを編集して
を設定します。 PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2 スタンバイIPorDNSofDC2Standby - dc-2 のスタンバイ ノードで、サーバーを停止してからすべてのノードを削除します
既存の Postgres データ:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql の停止
>rm -rf /opt/apigee/data/apigee-postgresql/
注: このデータは、削除する前に必要に応じてバックアップできます。 - dc-2 でスタンバイ ノードを構成します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- dc-1 のマスターノードで、構成ファイルを編集して
- dc-1 で、分析構成を更新し、組織を構成します。
- dc-1 の Management Server ノードで、Postgres の UUID を取得します。
node:
>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 が 作成されます。 - dc-2 の Management Server ノードで、Postgres の UUID を取得します。 ルートノードに追加します。その値を保存します。
- dc-1 の Management Server ノードで、ディレクトリの名前を確認します。
コンシューマグループなどがありますこの情報は、以下のコマンドの多くで必要になります。
デフォルトでは、分析グループの名前は axgroup-001 で、コンシューマの名前は consumer-group-001 というグループです。リージョンのサイレント構成ファイルでは、デフォルト サービス アカウントの名前に 「AXGROUP」プロパティを使って分析グループのデータを抽出できます。
分析グループとコンシューマ グループの名前がわからない場合は、以下を使用します。
コマンドを使用して表示します。 >apigee-adminapi.sh 分析 グループリスト --admin adminEmail --pwd adminPword --host localhost
このコマンドは、name フィールドに分析グループ名を返し、コンシューマ グループを返します。 入力します。 - dc-1 の Management Server ノードで、既存の Postgres を削除します。
2 つのデータソースから構成されます。
<ph type="x-smartling-placeholder">
- </ph>
- コンシューマ グループから Postgres ノードを削除します。
>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 ノードを実行するように構成されている場合、 マスター/スタンバイ モード、両方削除:
>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 - 分析グループから Postgres ノードを削除します。
>apigee-adminapi.sh 分析グループ postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost
dc-1 が 2 つの Postgres ノードをマスター/スタンバイ モードで実行するように構成されている場合は、 両方:
>apigee-adminapi.sh 分析グループ postgres_server remove -g axgroup-001 -u UUID1、UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
- コンシューマ グループから Postgres ノードを削除します。
-
dc-1 の Management Server ノードで、新しいマスター/スタンバイ ノードを追加します。
Postgres サーバーから分析グループへ:
<ph type="x-smartling-placeholder">
- </ph>
- 両方の Postgres サーバーを分析グループに追加します。
>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-1、UUID_2 はスタンバイ Postgres に対応します。 dc-2 のノード。 - PG サーバーをマスター/スタンバイとしてコンシューマ グループに追加します:
>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
- 両方の Postgres サーバーを分析グループに追加します。
- dc-2 の Qpid サーバーを分析グループに追加します。
<ph type="x-smartling-placeholder">
- </ph>
- dc-1 の Management Server ノードで、Qpid の UUID を取得します。
dc-2 のノード:
>apigee-adminapi.sh server list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost
返されたデータの最後に UUID が表示されます。これらの値を保存します。 - dc-1 の Management Server ノードで、Qpid ノードを
分析グループ:
>apigee-adminapi.sh 分析グループ qpid_server add -g axgroup-001 -u "UUID_1 UUID_1 --admin adminEmail --pwd adminPword --host localhost - dc-1 の Management Server ノードで、Qpid ノードを
コンシューマ グループ:
>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
- dc-1 の Management Server ノードで、Qpid の UUID を取得します。
dc-2 のノード:
- dc-1 の古い Postgres スタンバイ サーバーを登録解除して削除します。
<ph type="x-smartling-placeholder">
- </ph>
- 既存の dc-1 Postgres スタンバイ サーバーを登録解除します。
>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 ノード。 - 既存の dc-1 Postgres スタンバイ サーバーを削除します。
注: このコマンドでは、Postgres サーバーノードはアンインストールされません。これは、 Edge ノードのリストからのみ削除されます。Postgres は、後で VM から kube-APIserver に送信します。
>apigee-adminapi.sh サーバーの削除 -u UUID --admin adminEmail --pwd adminPword --host localhost
- 既存の dc-1 Postgres スタンバイ サーバーを登録解除します。
- dc-1 の Management Server ノードで、Postgres の UUID を取得します。
node:
- 2 つのデータセンターの正しいレプリケーション係数を使用して Cassandra キースペースを更新します。マイページ
この手順は、いずれかのデータセンターの Cassandra サーバーで 1 回だけ実行する必要があります。
注: 以下のコマンドはすべて、レプリケーション係数を「3」に設定します。 3 つの Cassandra ノードが必要です。実際のインストールに応じて、この値を変更します。- Cassandra cqlsh ユーティリティを起動します。
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - 「cqlsh>」で次の CQL コマンドを実行します。レプリケーションを設定
次のとおりです。
<ph type="x-smartling-placeholder">
- </ph>
- cqlsh>変更 KEYSPACE「identityzone」WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3'}
- cqlsh>キースペースの変更 system_tracesWITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3'};
- 次のコマンドを使用して、キースペースを表示します。
cqlsh>select * from system.schema_keyspaces; - cqlsh を終了します。
cqlsh>終了
- Cassandra cqlsh ユーティリティを起動します。
- dc-1 のすべての Cassandra ノードで次の nodetool コマンドを実行して、メモリを解放します。
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP クリーンアップ - データ全体でサポートする組織ごとおよび環境ごと
<ph type="x-smartling-placeholder">
- </ph>
- dc-1 の Management Server ノードで新しい MP_POD を
組織:
>apigee-adminapi.sh 組織の Pod add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost
ここで、gateway-2 は MP_POD で定義されたゲートウェイ Pod の名前です。 プロパティを設定する必要があります。 - 新しい Message Processor を組織と環境に追加します。
<ph type="x-smartling-placeholder">
- </ph>
- dc-2 の Management Server ノードで、使用しているアプリケーションの UUID を取得します。
dc-2 の Message Processor ノード:
>apigee-adminapi.sh server list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost
返されたデータの最後に UUID が表示されます。これらの値を保存します。 - dc-1 の Management Server ノードで、各 Message Processor を作成します。
dc-2 で、Message Processor を組織の環境に追加します。
>apigee-adminapi.sh 組織 envs server add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
- dc-2 の Management Server ノードで、使用しているアプリケーションの UUID を取得します。
dc-2 の Message Processor ノード:
- dc-1 の Management Server ノードで、組織を確認します。
>apigee-adminapi.sh orgs API deployment -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost
ここで、apiProxyName はインスタンスにデプロイされた API プロキシの名前です。 できます。
- dc-1 の Management Server ノードで新しい MP_POD を
組織: