Edge for Private Cloud v4.18.01
In diesem Dokument wird beschrieben, wie Sie einem vorhandenen Rechenzentrum ein Rechenzentrum (auch als Region bezeichnet) hinzufügen.
Überlegungen vor dem Hinzufügen eines Rechenzentrums
Bevor Sie ein Rechenzentrum hinzufügen, müssen Sie wissen, wie Sie OpenLDAP-, ZooKeeper-, Cassandra- und Postgres-Server in den Rechenzentren konfigurieren. Außerdem müssen die erforderlichen Ports zwischen den Knoten in den beiden Rechenzentren geöffnet sein.
- OpenLDAP
Jedes Rechenzentrum hat einen eigenen OpenLDAP-Server, der mit aktivierter Replikation konfiguriert ist. Wenn Sie das neue Rechenzentrum installieren, müssen Sie OpenLDAP für die Replikation konfigurieren und den OpenLDAP-Server im vorhandenen Rechenzentrum neu für die Replikation konfigurieren. - ZooKeeper
Geben Sie für das Attribut ZK_HOSTS für beide Rechenzentren die IP-Adressen oder DNS-Namen aller ZooKeeper-Knoten aus beiden Rechenzentren in derselben Reihenfolge an und markieren Sie alle Knoten mit dem Modifikator „:observer“. Knoten ohne den Modifikator „:observer“ werden als „Voter“ bezeichnet. In Ihrer Konfiguration muss eine ungerade Anzahl von „Wählern“ vorhanden sein.
In dieser Topologie ist der ZooKeeper-Host auf Host 9 der Beobachter:
In der unten gezeigten Beispielkonfigurationsdatei ist Knoten 9 mit dem Modifikator „:observer“ getaggt, sodass es fünf Wähler gibt: Knoten 1, 2, 3, 7 und 8.
Geben Sie für die Property ZK_CLIENT_HOSTS für jedes Rechenzentrum die IP-Adressen oder DNS-Namen nur der ZooKeeper-Knoten im Rechenzentrum in derselben Reihenfolge für alle ZooKeeper-Knoten im Rechenzentrum an. - Cassandra
Alle Rechenzentren müssen dieselbe Anzahl von Cassandra-Knoten haben.
Geben Sie für CASS_HOSTS für jedes Rechenzentrum alle Cassandra-IP-Adressen (keine DNS-Namen) für beide Rechenzentren an. Listen Sie für Rechenzentrum 1 zuerst die Cassandra-Knoten in diesem Rechenzentrum auf. Listen Sie für Rechenzentrum 2 zuerst die Cassandra-Knoten in diesem Rechenzentrum auf. Listen Sie die Cassandra-Knoten für alle Cassandra-Knoten im Rechenzentrum in der gleichen Reihenfolge auf.
Alle Cassandra-Knoten müssen ein Suffix vom Typ ':<d>,<r>' haben, z. B. '<ip>:1,1 = Rechenzentrum 1 und Rack/Verfügbarkeitszone 1 und '<ip>:2,1 = Rechenzentrum 2 und Rack/Verfügbarkeitszone 1.
Beispiel: „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“
Der erste Knoten im Rack/in der Verfügbarkeitszone 1 jedes Rechenzentrums wird als Startserver verwendet. Bei diesem Bereitstellungsmodell sieht die Cassandra-Einrichtung so aus:
-
Postgres
Standardmäßig installiert Edge alle Postgres-Knoten im Mastermodus. Wenn Sie jedoch mehrere Rechenzentren haben, konfigurieren Sie die Postgres-Knoten so, dass die Master-Standby-Replikation verwendet wird. Wenn der Masterknoten ausfällt, kann der Standbyknoten den Serververkehr fortsetzen. Normalerweise konfigurieren Sie den Master-Postgres-Server in einem Rechenzentrum und den Standby-Server im zweiten Rechenzentrum.
Wenn das vorhandene Rechenzentrum bereits so konfiguriert ist, dass zwei Postgres-Knoten im Master/Standby-Modus ausgeführt werden, müssen Sie den vorhandenen Standby-Knoten im Rahmen dieses Verfahrens abmelden und durch einen Standby-Knoten im neuen Rechenzentrum ersetzen.
Die folgende Tabelle zeigt die Konfiguration vor und nach der Postgres-Konfiguration für beide Szenarien:
Vorher
Nachher
Einzelner Master-Postgres-Knoten in dc-1
Master-Postgres-Knoten in dc-1
Standby-Postgres-Knoten in dc-2
Master-Postgres-Knoten in dc-1
Standby-Postgres-Knoten in dc-1
Master-Postgres-Knoten in dc-1
Standby-Postgres-Knoten in dc-2
Registrierung des alten Standby-Postgres-Knotens in dc-1 aufheben
- Portanforderungen
Sie müssen dafür sorgen, dass die erforderlichen Ports zwischen den Knoten in den beiden Rechenzentren geöffnet sind. Ein Portdiagramm finden Sie unter Installationsanforderungen.
Vorhandenes Rechenzentrum aktualisieren
Wenn Sie ein Rechenzentrum hinzufügen, müssen Sie die Schritte zum Installieren und Konfigurieren der neuen Rechenzentrumsknoten ausführen. Außerdem müssen Sie die Knoten im ursprünglichen Rechenzentrum aktualisieren. Diese Änderungen sind erforderlich, da Sie im neuen Rechenzentrum neue Cassandra- und ZooKeeper-Knoten hinzufügen, die für das vorhandene Rechenzentrum zugänglich sein müssen. Außerdem müssen Sie OpenLDAP so neu konfigurieren, dass die Replikation verwendet wird.
Konfigurationsdateien erstellen
Unten sehen Sie die Konfigurationsdateien im Hintergrund für die beiden Rechenzentren, wobei jedes Rechenzentrum 6 Knoten hat, wie unter Installationstopologien dargestellt. Beachten Sie, dass in der Konfigurationsdatei für dc-1 zusätzliche Einstellungen für Folgendes hinzugefügt werden:
- OpenLDAP mit Replikation über zwei OpenLDAP-Knoten konfigurieren
- Fügen Sie die neuen Cassandra- und ZooKeeper-Knoten aus dc-2 der Konfigurationsdatei für dc-1 hinzu.
# 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>" |
Neuer Standort hinzufügen
In diesem Verfahren haben die Rechenzentren folgende Namen:
- dc-1: das vorhandene Rechenzentrum
- dc-2: das neue Rechenzentrum
- Führen Sie auf dc-1 noch einmal "setup.sh" auf den ursprünglichen Cassandra-Knoten mit der neuen dc-1-Konfigurationsdatei aus, die die Cassandra-Knoten aus dc-2 enthält:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1 - Auf dc-1 führen Sie setup.sh noch einmal auf dem Knoten „Management Server“ aus:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1 - Installieren Sie auf dc-2 apigee-setup auf allen Knoten. Weitere Informationen finden Sie unter Edge-Apigee-Setup-Dienstprogramm installieren.
- Auf dc-2 installieren Sie Cassandra und ZooKeeper auf den entsprechenden Knoten:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2 - Führen Sie auf „dc-2“ den Befehl „rebuild“ auf allen Cassandra-Knoten aus und geben Sie dabei den Regionsnamen „dc-1“ an:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1 - Auf dc-2 installieren Sie den Verwaltungsserver auf dem entsprechenden Knoten:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2 - Installieren Sie auf dem Management-Serverknoten in dc-2 apigee-provision, wodurch das Dienstprogramm apigee-adminapi.sh installiert wird:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision install - Auf dc-2: Installieren Sie die Routes und Message Processors auf den entsprechenden Knoten:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2 - Auf dc-2 installieren Sie Qpid auf den entsprechenden Knoten:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2 - Auf dc-2 installieren Sie Postgres auf dem entsprechenden Knoten:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2 - Richten Sie die Master-/Standby-Replikation für die Postgres-Knoten ein. Der Postgres-Knoten in dc-1 ist der Master und der Postgres-Knoten in dc-2 ist der Standby-Server.
Hinweis: Wenn dc-1 bereits so konfiguriert ist, dass zwei Postgres-Knoten im Master/Standby-Modus ausgeführt werden, verwenden Sie im Rahmen dieses Verfahrens den vorhandenen Master-Postgres-Knoten in dc-1 als Master und den Postgres-Knoten in dc-2 als Standby-Server. Später in diesem Verfahren heben Sie die Registrierung des vorhandenen Postgres-Standby-Servers in dc-1 auf.- Bearbeiten Sie die Konfigurationsdatei auf dem Masterknoten in dc-1, um Folgendes festzulegen:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - Aktivieren Sie die Replikation auf dem neuen Master:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle - Bearbeiten Sie die Konfigurationsdatei auf dem Standbyknoten in dc-2 und legen Sie Folgendes fest:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - Beenden Sie auf dem Standbyknoten in dc-2 den Server und löschen Sie alle vorhandenen Postgres-Daten:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
> rm -rf /opt/apigee/data/apigee-postgresql/
Hinweis: Sie können diese Daten bei Bedarf sichern, bevor Sie sie löschen. - Konfigurieren Sie den Standbyknoten in dc-2:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Bearbeiten Sie die Konfigurationsdatei auf dem Masterknoten in dc-1, um Folgendes festzulegen:
- Aktualisieren Sie auf dc-1 die Analysekonfiguration und konfigurieren Sie die Organisationen.
- Ermitteln Sie auf dem Management-Serverknoten von dc-1 die UUID des Postgres-Knotens:
> apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost
Die UUID wird am Ende der zurückgegebenen Daten angezeigt. Speichern Sie diesen Wert.
Hinweis: Wenn dc-1 so konfiguriert ist, dass zwei Postgres-Knoten im Master/Standby-Modus ausgeführt werden, werden in der Ausgabe zwei IP-Adressen und UUIDs angezeigt. Speichern Sie beide UUIDs. Anhand der IP-Adressen sollten Sie ableiten können, welche UUID für den Master und welche für den Standby-Knoten ist. - Rufen Sie auf dem Managementserverknoten von dc-2 die UUID des Postgres-Knotens ab, wie im vorherigen Schritt gezeigt. Speichern Sie diesen Wert.
- Ermitteln Sie auf dem Management-Serverknoten von dc-1 den Namen der Analyse- und Verbrauchergruppen. Für viele der folgenden Befehle sind diese Informationen erforderlich.
Standardmäßig lautet der Name der Analysegruppe „axgroup-001“ und der Name der Verbrauchergruppe „consumer-group-001“. In der Silent-Konfigurationsdatei für eine Region können Sie den Namen der Analysegruppe mithilfe der AXGROUP-Eigenschaft festlegen.
Wenn Sie sich nicht sicher sind, wie die Namen der Analyse- und Verbrauchergruppen lauten, können Sie sie mit dem folgenden Befehl aufrufen:
> apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost
Mit diesem Befehl wird der Name der Analysegruppe im Feld „name“ und der Name der Verbrauchergruppe im Feld „consumer-groups“ zurückgegeben. - Entfernen Sie auf dem Verwaltungsserverknoten von dc-1 den vorhandenen Postgres-Server aus der Analysegruppe:
UUID- Entfernen Sie den Postgres-Knoten aus der Analytics-Gruppe:
> apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost
Wenn für dc-1 zwei Postgres-Knoten im Master/Standby-Modus konfiguriert sind, entfernen Sie beide:
> apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
-
Fügen Sie auf dem Management-Serverknoten von dc-1 die neuen Master-/Standby-Postgres-Server der Analysegruppe hinzu:
- Fügen Sie beide Postgres-Server zur Analysegruppe hinzu:
> apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host knoten in Knoten gdc-UID und UUID_UID_1.
- Fügen Sie der Consumer-Gruppe die PG-Server als Master/Standby hinzu:
> 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
- Fügen Sie beide Postgres-Server zur Analysegruppe hinzu:
- Fügen Sie der Analysegruppe die Qpid-Server von dc-2 hinzu:
- Rufen Sie auf dem Verwaltungsserverknoten von dc-1 die UUIDs der Qpid-Knoten in dc-2 ab:
> apigee-adminapi.sh Serverless Server list -r dc-2 -pcentral -t qpid-server --admin adminEmail --pwd adminPword --host data localhost
s
Speichern Sie diese Werte. - Fügen Sie auf dem Management-Serverknoten von dc-1 die Qpid-Knoten der Analysegruppe hinzu (führen Sie beide Befehle aus):
>apigee-adminapi.sh analytics groups 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
- Rufen Sie auf dem Verwaltungsserverknoten von dc-1 die UUIDs der Qpid-Knoten in dc-2 ab:
- Registrieren Sie den alten Postgres-Standbyserver von dc-1 ab und löschen Sie ihn:
- Registrieren Sie den vorhandenen Postgres-Standbyserver dc-1 ab:
> apigee-adminapi.sh servers deregister -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost
UUID ist der alte Postgres-Standbyknoten in dc-1. - Löschen Sie den vorhandenen Postgres-Standby-Server "dc-1":
Hinweis: Mit diesem Befehl wird der Postgres-Serverknoten nicht deinstalliert. Er wird nur aus der Liste der Edge-Knoten entfernt. Sie können Postgres bei Bedarf später vom Knoten deinstallieren.
> apigee-adminapi.sh servers delete -u UUID --admin adminEmail --pwd adminPword --host localhost
- Registrieren Sie den vorhandenen Postgres-Standbyserver dc-1 ab:
- Ermitteln Sie auf dem Management-Serverknoten von dc-1 die UUID des Postgres-Knotens:
- Aktualisieren Sie die Cassandra-Schlüsselbereiche mit dem richtigen Replikationsfaktor für die beiden Rechenzentren. Sie müssen diesen Schritt nur einmal auf einem beliebigen Cassandra-Server in einem der beiden Rechenzentren ausführen:
Hinweis: Mit den folgenden Befehlen wird der Replikationsfaktor auf „3“ festgelegt, was drei Cassandra-Knoten im Cluster bedeutet. Ändern Sie diesen Wert nach Bedarf für Ihre Installation.- Starten Sie das Cassandra-Dienstprogramm cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Führen Sie die folgenden CQL-Befehle an der Eingabeaufforderung „cqlsh>“ aus, um die Replikationsebenen für Cassandra-Schlüsselbereiche festzulegen:
- cqlsh> ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Rufen Sie die Schlüsselräume mit dem Befehl auf:
cqlsh> select * from system.schema_keyspaces; - cqlsh beenden:
cqlsh> exit
- Starten Sie das Cassandra-Dienstprogramm cqlsh:
- Führen Sie den folgenden nodetool-Befehl auf allen Cassandra-Knoten in dc-1 aus, um Arbeitsspeicher freizugeben:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup - Für jede Organisation und jede Umgebung, die Sie standortübergreifend unterstützen möchten:
- Fügen Sie auf dem Management-Serverknoten von dc-1 der Organisation den neuen MP_POD hinzu:
> apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost
wobei gateway-2 der Name des Gateway-Pods ist, wie er durch die MP_POD-Eigenschaft in der dc-2-Konfigurationsdatei definiert ist. - Fügen Sie der Organisation und Umgebung die neuen Nachrichtenverarbeiter hinzu:
- Rufen Sie auf dem Verwaltungsserver-Knoten von dc-2 die UUIDs der Message Processor-Knoten in dc-2 ab:
> apigee-adminapi.sh Server list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host-Daten werden am Ende der localhost-Daten von
angezeigt.
Speichern Sie diese Werte. - Fügen Sie auf dem Management-Serverknoten von dc-1 jedem Nachrichtenverarbeiter in dc-2 einen Nachrichtenverarbeiter zu einer Umgebung für die Organisation hinzu:
> apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
- Rufen Sie auf dem Verwaltungsserver-Knoten von dc-2 die UUIDs der Message Processor-Knoten in dc-2 ab:
- Prüfen Sie auf dem Management-Serverknoten von dc-1 die Organisation:
> apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost
wobei apiProxyName der Name eines in der Organisation bereitgestellten API-Proxys ist.
- Fügen Sie auf dem Management-Serverknoten von dc-1 der Organisation den neuen MP_POD hinzu: