Rechenzentrum hinzufügen

Edge for Private Cloud Version 4.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 das Hinzufügen eines Rechenzentrums installieren, müssen Sie wissen, wie OpenLDAP-, ZooKeeper-, Cassandra- und Postgres-Server in den Rechenzentren konfiguriert werden. Außerdem müssen die erforderlichen Ports zwischen den Knoten in den beiden Rechenzentren offen sein.

  • OpenLDAP
    Jedes Rechenzentrum hat einen eigenen OpenLDAP-Server, für den die Replikation aktiviert ist. Wenn Sie das neue Rechenzentrum installieren, müssen Sie OpenLDAP für die Verwendung der Replikation konfigurieren und den OpenLDAP-Server im vorhandenen Rechenzentrum für die Verwendung der Replikation neu konfigurieren.
  • ZooKeeper
    Geben Sie für die Property 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 „voters“ bezeichnet. Ihre Konfiguration muss eine ungerade Anzahl von Abstimmern enthalten.

    Bei 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 Sie fünf Voter haben: 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 der ZooKeeper-Knoten im Rechenzentrum in derselben Reihenfolge für alle ZooKeeper-Knoten im Rechenzentrum an.
  • Cassandra
    Alle Rechenzentren müssen die gleiche Anzahl von Cassandra-Knoten haben.

    Achten Sie darauf, dass Sie für CASS_HOSTS für jedes Rechenzentrum alle Cassandra-IP-Adressen (nicht DNS-Namen) für beide Rechenzentren angeben. Für Rechenzentrum 1 listen Sie zuerst die Cassandra-Knoten in diesem Rechenzentrum auf. Für Rechenzentrum 2 listen Sie zuerst die Cassandra-Knoten in diesem Rechenzentrum auf. Listen Sie die Cassandra-Knoten für alle Cassandra-Knoten im Rechenzentrum in derselben Reihenfolge auf.

    Alle Cassandra-Knoten müssen das Suffix „:<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.12.1 192.168.12.1 siehe 192.168.12.

    In 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 Postgres-Knoten für die Verwendung der Master-Standby-Replikation. Wenn der Master-Knoten ausfällt, kann der Stand-by-Knoten damit weiterhin Server-Traffic weiterleiten. In der Regel konfigurieren Sie den Postgres-Master-Server in einem Rechenzentrum und den Stand-by-Server im zweiten Rechenzentrum.

    Wenn das vorhandene Rechenzentrum bereits so konfiguriert ist, dass zwei Postgres-Knoten im Master-/Stand-by-Modus ausgeführt werden, heben Sie bei diesem Verfahren die Registrierung des vorhandenen Stand-by-Knotens auf und ersetzen Sie ihn durch einen Standby-Knoten im neuen Rechenzentrum.

    Die folgende Tabelle zeigt die Postgres-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

    Postgres-Knoten im Standby-Modus in dc-2

    Master-Postgres-Knoten in dc-1

    Postgres-Knoten im Stand-by-Modus in dc-1

    Master-Postgres-Knoten in dc-1

    Postgres-Knoten im Standby-Modus in dc-2

    Registrierung des alten Standby-Postgres-Knotens in dc-1 aufheben

  • Portanforderungen
    Achten Sie darauf, dass die erforderlichen Ports zwischen den Knoten in den beiden Rechenzentren offen 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, aber auch 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 sollen, und OpenLDAP für die Verwendung der Replikation neu konfigurieren müssen.

Konfigurationsdateien erstellen

Unten sehen Sie die stillen Konfigurationsdateien für die beiden Rechenzentren, wobei jedes Rechenzentrum über sechs Knoten verfügt, wie unter Installationstopologien dargestellt. Beachten Sie, dass die Konfigurationsdatei für dc-1 zusätzliche Einstellungen hinzufügt:

  • Konfigurieren Sie OpenLDAP mit Replikation über zwei OpenLDAP-Knoten.
  • Fügen Sie der Konfigurationsdatei für dc-1 die neuen Cassandra- und ZooKeeper-Knoten von dc-2 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>"

Verfahren zum Hinzufügen eines neuen Rechenzentrums

Bei diesem Verfahren werden die Rechenzentren folgendermaßen benannt:

  • dc-1: das vorhandene Rechenzentrum
  • dc-2: das neue Rechenzentrum
  1. Führen Sie unter dc-1 noch einmal setup.sh auf den ursprünglichen Cassandra-Knoten mit der neuen Konfigurationsdatei dc-1 aus, die die Cassandra-Knoten von dc-2 enthält:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Führen Sie bei dc-1 noch einmal „setup.sh“ auf dem Verwaltungsserverknoten aus:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Auf dc-2 installieren Sie apigee-setup auf allen Knoten. Weitere Informationen finden Sie unter Edge-Dienstprogramm für Apigee-Einrichtung installieren.
  4. Auf dc-2 installieren Sie Cassandra und ZooKeeper auf den entsprechenden Knoten:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Führen Sie auf dc-2 den Befehl zur Neuerstellung 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
  6. Auf dc-2 installieren Sie den Verwaltungsserver auf dem entsprechenden Knoten:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. Auf dem Management Server-Knoten in dc-2 installieren Sie apigee-provision, mit dem das Dienstprogramm apigee-adminapi.sh installiert wird:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. Auf dc-2 installieren Sie die Routen und Meldungsprozessoren auf den entsprechenden Knoten:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. Auf dc-2 installieren Sie Qpid auf den entsprechenden Knoten:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. Auf dc-2 installieren Sie Postgres auf dem entsprechenden Knoten:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Richten Sie den Postgres-Master/-Standby 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 für die Ausführung von zwei Postgres-Knoten im Master-/Standby-Modus konfiguriert ist, 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 werden Sie die Registrierung des vorhandenen Postgres-Standby-Servers in dc-1 aufheben.
    1. Bearbeiten Sie auf dem Masterknoten in dc-1 die Konfigurationsdatei so:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Aktivieren Sie die Replikation auf dem neuen Master:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql-Setup-Replikation auf dem Master -f configFIle
    3. Bearbeiten Sie auf dem Standby-Knoten in dc-2 die Konfigurationsdatei so:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Beenden Sie auf dem Standby-Knoten in dc-2 den Server und löschen Sie dann alle vorhandenen Postgres-Daten:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      > rm -rf /opt/apigee/data/apigee-postgresql/

      Hinweis: Bei Bedarf können Sie diese Daten vor dem Löschen sichern.
    5. Konfigurieren Sie den Standby-Knoten in dc-2:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql-setup-replication-on-standby -f configFile
  12. Aktualisieren Sie auf dc-1 die Analysekonfiguration und konfigurieren Sie die Organisationen.
    1. Rufen Sie auf dem Verwaltungsserver-Knoten von dc-1 die UUID des Postgres-Knotens ab:
      > apigee-adminapi.sh server list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      Die UUID wird am Ende der zurückgegebenen UUID-Daten angezeigt. Speichern Sie diesen Wert.

      Hinweis: Wenn dc-1 für die Ausführung von zwei Postgres-Knoten im Master-/Standby-Modus konfiguriert ist, werden in der Ausgabe zwei IP-Adressen und UUIDs angezeigt. Speichern Sie beide UUIDs. Anhand der IP-Adressen sollten Sie feststellen können, welche UUID für den Master und welche für den Standby-Knoten gilt.
    2. Rufen Sie auf dem Verwaltungsserver-Knoten von dc-2 die UUID des Postgres-Knotens ab, wie im vorherigen Schritt gezeigt. Speichern Sie diesen Wert.
    3. Bestimmen Sie auf dem Verwaltungsserver-Knoten von dc-1 den Namen der Analyse- und Verbrauchergruppen. Viele der folgenden Befehle erfordern diese Informationen.
      Standardmäßig lautet der Name der Analysegruppe „axgroup-001“ und der Name der Nutzergruppe ist „consumer-group-001“. In der stillen Konfigurationsdatei für eine Region können Sie den Namen der Analysegruppe mithilfe des Attributs AXGROUP festlegen.

      Wenn Sie sich über die Namen der Analyse- und Nutzergruppen nicht sicher sind, verwenden Sie den folgenden Befehl, um sie anzuzeigen:
      > apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost

      Dieser Befehl gibt den Namen der Analysegruppe im Namensfeld und den Namen der Verbrauchergruppe im Feld für die Nutzergruppe zurück.
    4. Entfernen Sie im Verwaltungsserver-Knoten von dc-1 den vorhandenen Postgres-Server aus der Analysegruppe:
      1. Entfernen Sie den Postgres-Knoten aus der Gruppe „consumer-group“:
        > apigee-adminapi.sh analytics groups customer_groups datastores remove -g axgroup-001 -cconsumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --pwd adminPword---host --host localhost- adminPword-2 --host localhost entfernen dc-1.


      2. Entfernen Sie den Postgres-Knoten aus der Analysegruppe:
        > apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Wenn dc-host-server localhost-Modus für :x-host-2-sn-w
    5. Fügen Sie der Analysegruppe auf dem Verwaltungsserver-Knoten von dc-1 die neuen Master-/Standby-Postgres-Server hinzu:
      1. Fügen Sie der Analysegruppe beide Postgres-Server hinzu:
        > apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost entspricht dem Knoten dc-host in dc_UID, wobei dc_UID dem Knoten dc_UID entspricht dc_UID entspricht dc_UID dem Knoten dc_UID in dc_UID in dc_1, wobei dc_UID dem Knoten dc_UID in dc_1 entspricht.

      2. Fügen Sie die PG-Server als Master/Standby zur Nutzergruppe hinzu:
        > apigee-adminapi.sh analytics groups consumer_groups Datastores add -g axgroup-001 -cconsumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host -
    6. Fügen Sie der Analysegruppe die Qpid-Server aus dc-2 hinzu:
      1. Rufen Sie auf dem Verwaltungsserver-Knoten von dc-1 die UUIDs der Qpid-Knoten in dc-2 ab:
        > apigee-adminapi.sh server list -r dc-2 -p center -t qpid-server --admin adminEmail --pwd adminPword --host zurückgegebene Daten am Ende des lokalen Hosts:
        .
        Speichern Sie diese Werte.
      2. Fügen Sie auf dem Verwaltungsserver-Knoten von dc-1 die Qpid-Knoten zur 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 groups q

      3. Auf dem Management Server-Knoten von dc-1 fügen Sie der Consumer-Gruppe die Qpid-Knoten hinzu (beide Befehle ausführen):
        > apigee-adminapi.sh analytics groupsconsumer_groupsconsumer add -g axgroup-001 -cconsumer-group-001 -u "UUID_1" --admin adminEmail --

    7. Heben Sie die Registrierung des alten Postgres-Standby-Servers von dc-1 auf und löschen Sie ihn:
      1. Heben Sie die Registrierung des vorhandenen Postgres-Standby-Servers dc-1 auf:
        > apigee-adminapi.sh-Server deregister -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost-

        alt, wobei UUID der Standby-Knoten

        alt ist, wobei UUID der Standby-Knoten ist.

        alter Knoten
      2. Löschen Sie den vorhandenen dc-1-Postgres-Standby-Server:
        Hinweis: Durch diesen Befehl wird der Postgres-Serverknoten nicht deinstalliert. Sie wird nur aus der Liste der Edge-Knoten entfernt. Bei Bedarf können Sie Postgres später vom Knoten deinstallieren.
        > apigee-adminapi.sh-Server löschen -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. Aktualisieren Sie die Cassandra-Schlüsselbereiche mit dem korrekten Replikationsfaktor für die beiden Rechenzentren. Sie müssen diesen Schritt nur einmal auf einem Cassandra-Server in einem der beiden Rechenzentren ausführen:

    Hinweis: Die folgenden Befehle setzen den Replikationsfaktor auf „3“, was drei Cassandra-Knoten im Cluster angibt. Ändern Sie diesen Wert bei Bedarf für Ihre Installation.
    1. Starten Sie das Dienstprogramm Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Führen Sie die folgenden CQL-Befehle in der Eingabeaufforderung "cqlsh>" aus, um die Replikationsebenen für Cassandra-Schlüsselbereiche festzulegen:
      1. cqlsh> ALTER KEYSPACE "identityzone" WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Rufen Sie die Schlüsselbereiche mit folgendem Befehl auf:
        cqlsh> select * from system.schema_keyspaces;.
      4. Beenden Sie „cqlsh“:
        cqlsh> exit
  14. 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
  15. Führen Sie für jede Organisation und jede Umgebung, die rechenzentrenübergreifend unterstützt werden soll, folgende Schritte aus:
    1. Fügen Sie auf dem Management Server-Knoten von dc-1 das neue MP_POD im Management Server-Knoten von dc-1 den neuen MP_POD hinzu:
      > apigee-adminapi.sh orgs Pods add -o dc-admin-2

    2. Fügen Sie der Organisation und Umgebung die neuen Message Processors hinzu:
      1. Rufen Sie auf dem Management Server-Knoten von dc-2 die UUIDs der Message Processor-Knoten in dc-2 ab:
        > apigee-adminapi.sh-Serverliste -r dc-2 -p gateway-2 -t Message-processor --admin adminEmail --pwd adminPword --host localhost-Daten werden unter den zurückgegebenen localhost-Daten angezeigt

        . Speichern Sie diese Werte.
      2. Auf dem Verwaltungsserver-Knoten von dc-1 fügen Sie für jeden Message Processor in dc-2 den Message Processor einer Umgebung für die Organisation hinzu:
        > apigee-adminapi.sh orgs envs server add -o orgName -e envName -u UUID --admin adminEmail --hostPword --hostPword
    3. Auf dem Verwaltungsserver-Knoten von dc-1 überprüfen Sie die Organisation:
      > apigee-adminapi.sh orgs apis-Deployments -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      wobei apiProxy-Name der Name einer API-Proxy-Organisation ist.