Aggiungere un data center

Edge per Private Cloud v. 4.16.05

Questo documento descrive come aggiungere un data center (chiamato anche regione) a un data esistente Google Cloud.

Considerazioni da fare prima di aggiungere un data center

Prima di installare l'aggiunta di un data center, devi sapere come configurare OpenLDAP, Server ZooKeeper, Cassandra e Postgres nei data center. Devi inoltre assicurarti che tra i nodi dei due data center siano aperte.

  • OpenLDAP
    Ogni data center dispone del proprio server OpenLDAP configurato con la replica abilitata. Quando installare il nuovo data center, devi configurare OpenLDAP per utilizzare la replica e riconfigurare il server OpenLDAP nel data center esistente per utilizzare la replica.
  • ZooKeeper
    Per la proprietà ZK_HOSTS per in entrambi i data center, specifica gli indirizzi IP o i nomi DNS di tutti i nodi di ZooKeeper center, nello stesso ordine, e contrassegna tutti i nodi con il tasto di modifica ":observer". I nodi senza il modificatore ":observer" sono chiamati "voter". Devi avere uno strano numero di "votanti" nella tua configurazione.

    In questa topologia, l'host di ZooKeeper sull'host 9 è l'osservatore:



    Nel file di configurazione di esempio mostrato di seguito, il nodo 9 è contrassegnato con il tag il modificatore ":observer" in modo da avere cinque elettori: nodi 1, 2, 3, 7 e 8.

    Per ZK_CLIENT_HOSTS per ogni data center, specifica gli indirizzi IP o i nomi DNS solo di ZooKeeper nodi nel data center, nello stesso ordine, per tutti i nodi ZooKeeper nei dati Google Cloud.
  • Cassandra
    Tutti i data center devono avere lo stesso numero di nodi Cassandra.

    Per CASS_HOSTS per ogni dato center, assicurati di specificare tutti gli indirizzi IP di Cassandra (non i nomi DNS) per entrambi i dati center. Per il data center 1, elenca per prima cosa i nodi Cassandra nel data center in questione. Per data center 2, elenca prima i nodi Cassandra nel data center. Elenca i nodi Cassandra nello stesso per tutti i nodi Cassandra nel data center.

    Tutti i nodi Cassandra devono avere un suffisso ':<d>,<r>', ad esempio '<ip>:1,1 = data center 1 e rack/zona disponibilità 1 e '<ip>:2,1 = data center 2 e nella zona di disponibilità/rack 1.
    Ad esempio, "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"

    Il primo nodo nella zona 1 del rack/di disponibilità di ciascun data center verrà utilizzato come seed o server web. In questo modello di deployment, la configurazione di Cassandra sarà simile a questa:


  • Postgres
    Per impostazione predefinita, Edge installa tutti i nodi Postgres in modalità master. Tuttavia, se hai a disposizione data center, configuri i nodi Postgres in modo che utilizzino la replica in standby del master un errore del nodo master, il nodo in standby può continuare a gestire il traffico. Di solito, configuri il server Postgres master in un data center e il server di standby nel secondo Google Cloud.

    Se il data center esistente è già configurato per avere due nodi Postgres in esecuzione master/standby, nell'ambito di questa procedura annulla la registrazione del nodo di standby esistente e sostituirlo con un nodo in standby nel nuovo data center.

    La tabella seguente mostra la configurazione di Postgres prima e dopo per entrambi gli scenari:

    Prima

    Dopo

    Singolo nodo Postgres master in dc-1

    Nodo Postgres master in dc-1

    Nodo Postgres in standby in dc-2

    Nodo Postgres master in dc-1

    Nodo Postgres in standby in dc-1

    Nodo Postgres master in dc-1

    Nodo Postgres in standby in dc-2

    Annulla la registrazione del vecchio nodo Postgres in standby in dc-1

  • Requisiti delle porte
    Devi assicurarti che le porte necessarie siano aperte tra i nodi nei due data center. Per un diagramma delle porte, consulta la sezione Installazione Requisiti.

Aggiornamento del data center esistente

Per aggiungere un data center, devi eseguire i passaggi per installare e configurare i nuovi dati nodi del centro dati, ma richiede anche l'aggiornamento dei nodi nel data center originale. Questi sono necessarie modifiche perché stai aggiungendo nuovi nodi Cassandra e ZooKeeper nella nuova devono essere accessibili al data center esistente e occorre riconfigurare Utilizza OpenLDAP per utilizzare la replica.

crea i file di configurazione

Di seguito sono riportati i file di configurazione silenziosi per i due data center, dove ogni dato ha 6 nodi. Tieni presente che il file di configurazione per dc-1 aggiunge ulteriori impostazioni a:

  • Configura OpenLDAP con replica tra due nodi OpenLDAP.
  • Aggiungi i nuovi nodi Cassandra e ZooKeeper da dc-2 al file di configurazione per dc-1.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@apigee.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@apigee.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

Procedura per aggiungere un nuovo data center

In questa procedura, i data center vengono denominati:

  • dc-1: il data center esistente
  • dc-2: il nuovo data center
  1. In dc-1, esegui nuovamente setup.sh sui nodi Cassandra originali con il nuovo dc-1 file di configurazione che include i nodi Cassandra da dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. In dc-1, esegui nuovamente setup.sh sul nodo del server di gestione:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Su dc-2, installa apigee-setup su tutti i nodi. Vedi Installare l'utilità apigee-setup Edge per più informazioni.
  4. In dc-2, installa Cassandra e ZooKeeper sui nodi appropriati:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. In dc-2, esegui il comando rebuild su tutti i nodi Cassandra, specificando nome regione di dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. In dc-2, installa il server di gestione sul nodo appropriato:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. In dc-2, installa le route e i processori di messaggi sul server nodi:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  8. In dc-2, installa Qpid sui nodi appropriati:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  9. In dc-2, installa Postgres sul nodo appropriato:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  10. Configura il master/standby di Postgres per i nodi Postgres. Il nodo Postgres in dc-1 è mentre il nodo Postgres in dc-2 è il server di standby.

    Nota: se dc-1 è già configurato in modo da avere due Postgres nodi in esecuzione in modalità master/standby, nell'ambito di questa procedura utilizza nodo Postgres master esistente in dc-1 come master e Nodo Postgres in dc-2 come server in standby. Più avanti in questa procedura, annullerà la registrazione del server di standby Postgres esistente in dc-1.
    1. Nel nodo master in dc-1, modifica il file di configurazione impostando:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Abilita la replica sul nuovo master:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. Nel nodo in standby in dc-2, modifica il file di configurazione impostando:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Nel nodo in standby in dc-2, arresta il server ed elimina tutti gli eventuali dati Postgres esistenti:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      &gt; rm -rf /opt/apigee/data/apigee-postgresql/

      Nota: se necessario, puoi eseguire il backup di questi dati prima di eliminarli.
    5. Configura il nodo in standby in dc-2:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  11. In dc-1, aggiorna la configurazione dell'analisi e configura le organizzazioni.
    1. Nel nodo del server di gestione di dc-1, ottieni l'UUID di Postgres nodo:
      &gt; Server apigee-adminapi.sh list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      L'UUID viene visualizzato alla fine dei dati restituiti. Salva quel valore.

      Nota: se dc-1 è configurato in modo da avere due nodi Postgres in esecuzione in master/standby, vengono visualizzati due indirizzi IP e UUID nell'output. Salva entrambi gli UUID. Dagli IP, dovresti essere in grado di determinare quale UUID è per il master e quale per il nodo in standby.
    2. Nel nodo del server di gestione di dc-2, ottieni l'UUID di Postgres come mostrato nel passaggio precedente. Salva quel valore.
    3. Sul nodo del server di gestione di dc-1, determina il nome dell'agente analisi dei dati e gruppi di consumatori. Molti dei comandi riportati di seguito richiedono queste informazioni.
      Per impostazione predefinita, il nome del gruppo di Analytics è axgroup-001, mentre il nome del consumatore è consumer-group-001. Nel file di configurazione invisibile per una regione, puoi impostare il nome del gruppo di analisi, usando la proprietà AXGROUP.

      Se hai dubbi sui nomi dei gruppi di dati e analisi e di consumer, utilizza quanto segue per visualizzarli:
      &gt; Dati di apigee-adminapi.sh elenco gruppi --admin adminEmail --pwd adminPword --host localhost

      Questo comando restituisce il nome del gruppo di analisi nel campo del nome e il gruppo di consumer nel campo consumer-groups.
    4. Sul nodo del server di gestione di dc-1, rimuovi il file Postgres esistente Server del gruppo di analisi:
        .
      1. Rimuovi il nodo Postgres dal gruppo di consumer:
        &gt; apigee-adminapi.sh gruppi di analisi consumer_groups rimozione datastore -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Se dc-1 è configurata in modo da avere due nodi Postgres in esecuzione modalità master/standby, rimuovi entrambi:
        &gt; apigee-adminapi.sh gruppi di analisi consumer_groups rimozione datastore -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. Rimuovi il nodo Postgres dal gruppo di analisi:
        &gt; apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Se dc-1 è configurato in modo da avere due nodi Postgres in esecuzione in modalità master/standby, rimuovi Entrambi:
        &gt; apigee-adminapi.sh analytics groups postgres_server rimuovere -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
    5. Sul nodo del server di gestione di dc-1, aggiungi il nuovo master/standby Server Postgres al gruppo di analisi:
        .
      1. Aggiungi entrambi i server Postgres al gruppo di analisi:
        &gt; apigee-adminapi.sh gruppi di analisi postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        dove UUID_1 corrisponde al nodo Postgres master in dc-1 e UUID_2 corrispondono al modello Postgres in standby in dc-2.
      2. Aggiungi i server PG al gruppo di consumer come master/standby:
        &gt; apigee-adminapi.sh gruppi di analisi consumer_group datastore aggiungere -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    6. Aggiungi i server Qpid da dc-2 al gruppo di analisi:
        .
      1. Nel nodo del server di gestione di dc-1, ottieni gli UUID di Qpid nodi in dc-2:
        &gt; apigee-adminapi.sh elenco dei server -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        Gli UUID vengono visualizzati alla fine dei dati restituiti. Salva questi valori.
      2. Sul nodo del server di gestione di dc-1, aggiungi i nodi Qpid alla gruppo di dati e analisi:
        &gt;apigee-adminapi.sh gruppi di dati e analisi qpid_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
      3. Sul nodo del server di gestione di dc-1, aggiungi i nodi Qpid alla gruppo di consumatori:
        &gt; apigee-adminapi.sh gruppi di dati e analisi consumer_group consumatori aggiungono -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. Annulla la registrazione ed elimina il vecchio server di standby Postgres da dc-1:
      1. Annulla la registrazione del server in standby Postgres dc-1 esistente:
        &gt; apigee-adminapi.sh annulla registrazione dei server -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        dove UUID è il vecchio standby Nodo Postgres in dc-1.
      2. Elimina il server in standby dc-1 Postgres esistente:
        Nota: questo comando non disinstalla il nodo del server Postgres. it lo rimuove solo dall'elenco dei nodi periferici. Successivamente potrai disinstallare Postgres dal nodo, se necessario.
        &gt; apigee-adminapi.sh eliminazione server -u UUID --admin adminEmail --pwd adminPword --host localhost
  12. Esegui il seguente comando nodetool su tutti i nodi Cassandra in dc-1 per liberare memoria:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP pulizia
  13. Per ogni organizzazione e ambiente che vuoi supportare sui dati center:
    1. Sul nodo del server di gestione di dc-1, aggiungi il nuovo MP_POD alla Organizzazione:
      &gt; Pod delle organizzazioni apigee-adminapi.sh add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      dove gateway-2 è il nome del pod del gateway come definito da MP_POD nel file di configurazione dc-2.
    2. Aggiungi i nuovi processori di messaggi all'organizzazione e all'ambiente:
      1. Nel nodo del server di gestione di dc-2, ottieni gli UUID del Nodi del processore di messaggi in dc-2:
        &gt; apigee-adminapi.sh elenco dei server -r dc-2 -p gateway-2 -t processore di messaggi --admin adminEmail --pwd adminPword --host localhost

        Gli UUID vengono visualizzati alla fine dei dati restituiti. Salva questi valori.
      2. Sul nodo del server di gestione di dc-1, per ogni processore di messaggi In dc-2, aggiungi il processore di messaggi a un ambiente per l'organizzazione:
        &gt; Organizzazioni apigee-adminapi.sh I server envs aggiungono -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. Nel nodo del server di gestione di dc-1, controlla l'organizzazione:
      &gt; Apigee-adminapi.sh orgs API deployment -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      dove apiProxyName è il nome di un proxy API di cui è stato eseguito il deployment dell'organizzazione.