Dodawanie centrum danych

Edge for Private Cloud w wersji 4.18.01

Ten dokument opisuje, jak dodać centrum danych (nazywane też regionem) do istniejącego centrum danych.

Uwagi do rozważenia przed dodaniem centrum danych

Zanim zainstalujesz centrum danych, musisz dowiedzieć się, jak skonfigurować serwery OpenLDAP, ZooKeeper, Cassandra i Postgres w centrach danych. Musisz też upewnić się, że między węzłami w tych 2 centrach danych są otwarte niezbędne porty.

  • OpenLDAP
    Każde centrum danych ma własny serwer OpenLDAP skonfigurowany z włączoną replikacją. Po zainstalowaniu nowego centrum danych musisz skonfigurować OpenLDAP do korzystania z replikacji i ponownie skonfigurować serwer OpenLDAP w istniejącym centrum danych, aby użyć replikacji.
  • ZooKeeper
    W przypadku właściwości ZK_HOSTS obu centrów danych podaj adresy IP lub nazwy DNS wszystkich węzłów ZooKeeper z obu centrów danych w tej samej kolejności i oznacz wszystkie węzły modyfikatorem „:observer”. Węzły bez modyfikatora „:observer” są nazywane „głosami”. W konfiguracji musisz mieć nieparzystą liczbę „głosów”.

    W tej topologii host ZooKeeper na hoście 9 jest obserwatorem:



    W przykładowym pliku konfiguracji widocznym poniżej węzeł 9 jest oznaczony tagiem z modyfikatorem „:observer”, co oznacza, że masz 5 wyborców: węzły 1, 2, 3, 7 i 8.

    Dla właściwości ZK_CLIENT_HOSTS dla każdego centrum danych podaj adresy IP lub nazwy DNS tylko węzłów ZooKeeper w centrum danych, w tej samej kolejności, dla wszystkich węzłów ZooKeeper w centrum danych.
  • Cassandra
    Wszystkie centra danych muszą mieć taką samą liczbę węzłów Cassandra.

    W przypadku CASS_HOSTS każdego centrum danych podaj wszystkie adresy IP Cassandra (a nie nazwy DNS) obu centrów danych. W przypadku centrum danych 1 najpierw wymień węzły Cassandra w tym centrum danych. W przypadku centrum danych 2 najpierw wymień w nim węzły Cassandra. Wyświetl węzły Cassandra w tej samej kolejności dla wszystkich węzłów Cassandra w centrum danych.

    Wszystkie węzły Cassandra muszą mieć sufiks „:<d>,<r>”, na przykład „<ip>:1,1 = centrum danych 1 i strefa stojaka/dostępności 1 oraz „<ip>:2,1 = centrum danych 2 i strefa dostępności satelity 1”.
    Na przykład „192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204.201:1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204.206

    W tym modelu wdrożenia konfiguracja Cassandra będzie wyglądać tak:


  • Postgres
    Domyślnie Edge instaluje wszystkie węzły Postgres w trybie głównym. Jeśli jednak masz wiele centrów danych, możesz skonfigurować węzły Postgres tak, aby używały replikacji gotowości mastera. Dzięki temu w przypadku awarii węzła głównego będzie on mógł kontynuować ruch na serwerze. Zwykle główny serwer Postgres konfiguruje się w jednym centrum danych, a serwer gotowości w drugim centrum danych.

    Jeśli istniejące centrum danych jest już skonfigurowane tak, aby dwa węzły Postgres działały w trybie głównym/gotowym, w ramach tej procedury wyrejestruj istniejący węzeł gotowości i zastąp go węzłem gotowości w nowym centrum danych.

    W tabeli poniżej znajdziesz konfigurację Postgres sprzed wprowadzenia i po niej w przypadku obu scenariuszy:

    Przed

    Po

    Pojedynczy główny węzeł Postgres w dc-1

    Węzeł główny Postgres w dc-1

    Węzeł gotowości Postgres w dc-2

    Węzeł główny Postgres w dc-1

    Węzeł gotowości Postgres w dc-1

    Węzeł główny Postgres w dc-1

    Węzeł gotowości Postgres w dc-2

    Wyrejestruj stary węzeł gotowości Postgres w dc-1

  • Wymagania dotyczące portów
    Upewnij się, że między węzłami w 2 centrach danych są otwarte niezbędne porty. Diagram portów znajdziesz w wymaganiach instalacji.

Aktualizowanie istniejącego centrum danych

Dodanie centrum danych wymaga wykonania czynności niezbędnych do zainstalowania i skonfigurowania nowych węzłów centrum danych, ale także aktualizacji węzłów w pierwotnym centrum danych. Te modyfikacje są konieczne, ponieważ dodajesz w nowym centrum danych nowe węzły Cassandra i ZooKeeper, które muszą być dostępne dla istniejącego centrum danych, i musisz ponownie skonfigurować OpenLDAP, aby użyć replikacji.

Tworzenie plików konfiguracji

Poniżej przedstawiono dyskretne pliki konfiguracji 2 centrów danych, gdzie każde z nich ma 6 węzłów, jak pokazano w topologii instalacji. Zwróć uwagę, że plik konfiguracyjny dc-1 dodaje dodatkowe ustawienia do:

  • Skonfiguruj OpenLDAP z replikacją w 2 węzłach OpenLDAP.
  • Dodaj nowe węzły Cassandra i ZooKeeper z dc-2 do pliku konfiguracyjnego 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>"

Procedura dodawania nowego centrum danych

W ramach tej procedury centra danych noszą nazwy:

  • dc-1: istniejące centrum danych
  • dc-2: nowe centrum danych
  1. W przypadku dc-1 ponownie uruchom plik setup.sh w oryginalnych węzłach Cassandra z nowym plikiem konfiguracyjnym dc-1, który zawiera węzły Cassandra z dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. W przypadku dc-1 uruchom ponownie plik setup.sh w węźle serwera zarządzania:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Na urządzeniu dc-2 zainstaluj apigee-setup na wszystkich węzłach. Więcej informacji znajdziesz w artykule na temat instalowania narzędzia Edge apigee-setup.
  4. Na dc-2 zainstaluj Cassandra i ZooKeeper na odpowiednich węzłach:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Na dc-2 uruchom polecenie ponownego kompilacji na wszystkich węzłach Cassandra, podając nazwę regionu dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. W przypadku dc-2 zainstaluj serwer zarządzania w odpowiednim węźle:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. W węźle serwera zarządzania w dc-2 zainstaluj narzędzie apigee-provision, które instaluje narzędzie apigee-adminapi.sh:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provisioninstall
  8. W dc-2 zainstaluj trasy i procesory wiadomości w odpowiednich węzłach:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. W przypadku dc-2 zainstaluj Qpid w odpowiednich węzłach:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. W przypadku dc-2 zainstaluj Postgres w odpowiednim węźle:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Skonfiguruj mastera/stan gotowości Postgres dla węzłów Postgres. Węzeł Postgres w dc-1 jest węzłem głównym, a węzeł Postgres w dc-2 jest serwerem gotowości.

    Uwaga: jeśli dc-1 jest już skonfigurowany tak, że 2 węzły Postgres działają w trybie głównym/gotowym, w ramach tej procedury użyj istniejącego głównego węzła Postgres w dc-1, a węzła Postgres w dc-2 jako serwera gotowości. Później w ramach tej procedury wyrejestrujesz istniejący serwer gotowości Postgres w dc-1.
    1. W węźle głównym w dc-1 zmodyfikuj plik konfiguracji na:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Włącz replikację w nowym masterze:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. W węźle gotowości w dc-2 zmodyfikuj plik konfiguracji na:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. W węźle gotowości w dc-2 zatrzymaj serwer, a następnie usuń istniejące dane Postgres:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      > rm -rf /opt/apigee/data/apigee-postgresql/

    5. Skonfiguruj węzeł gotowości w dc-2:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. W dc-1 zaktualizuj konfigurację Analytics i skonfiguruj organizacje.
    1. W węźle serwera zarządzania dc-1 pobierz identyfikator UUID węzła Postgres:
      > lista serwerów apigee-adminapi.sh -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      Identyfikator UUID znajduje się na końcu zwróconych danych. Zapisz tę wartość.

      Uwaga: jeśli klucz dc-1 jest skonfigurowany tak, że 2 węzły Postgres działają w trybie mastera/gotowości, w danych wyjściowych widoczne są 2 adresy IP i identyfikatory UUID. Zapisz oba identyfikatory UUID. Na podstawie adresów IP powinno być możliwe określenie, który identyfikator UUID jest dla węzła głównego, a który dla węzła gotowości.
    2. W węźle serwera zarządzania dc-2 pobierz identyfikator UUID węzła Postgres, jak pokazano w poprzednim kroku. Zapisz tę wartość.
    3. W węźle serwera zarządzania dc-1 ustal nazwę grup analitycznych i grup klientów. Wiele z poniższych poleceń wymaga tych informacji.
      Domyślnie nazwa grupy Analytics to axgroup-001, a nazwa grupy klientów to consumer-group-001. W cichym pliku konfiguracyjnym dla regionu możesz ustawić nazwę grupy analitycznej, korzystając z właściwości AXGROUP.

      Jeśli nie masz pewności co do nazw grup analitycznych i grup klientów, użyj tego polecenia, aby je wyświetlić:
      > apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost

      To polecenie zwraca w polu nazwy nazwę grupy Analytics, a w polu „grupy klientów” nazwę grupy klientów.
    4. W węźle zarządzania serwerem dc-1 usuń z grupy analitycznej istniejący serwer Postgres:
      1. Usuń węzeł Postgres z grupy klienta:
        > apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd grPword --host localhost

        If dc-1 localhost

      2. Usuń węzeł Postgres z grupy Analytics:
        > apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Jeśli zasada dc-1-host-1 ma skonfigurowane 2 węzły Postgres w ustawieniu master-localhost.
    5. W węźle serwera zarządzania dc-1 dodaj nowe serwery główne/gotowe Postgres do grupy analityki:
      1. Dodaj oba serwery Postgres do grupy Analytics:
        > apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        odpowiada węzłowi UUID_1, gdzie UUID_1 odpowiada węzłowi UUID_1.
      2. Dodaj serwery PG do grupy klientów jako master/standby:
        > 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
    6. Dodaj serwery Qpid z dc-2 do grupy w YouTube Analytics:
      1. W węźle serwera zarządzania dc-1 pobierz identyfikatory UUID węzłów Qpid w dc-2:
        > apigee-adminapi.sh lista serwerów -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword – host lokalny




        Zapisz te wartości.
      2. W węźle serwera zarządzania dc-1 dodaj węzły Qpid do grupy Analytics (uruchom oba polecenia):
        >apigee-adminapi.sh analytics groups qpid_server add -g axgroup-001 -u "UUID_1 --admin adminEmail --pwd adminPword --host localhost

      3. W węźle serwera zarządzania dc-1 dodaj węzły Qpid do grupy klientów (uruchom oba polecenia):
        > apigee-adminapi.sh analytics groups consumer_groups consumer add -g axgroup-001 -c consumer-group-001 -u "UUID_1" --admin adminEmail --pwd

    7. Wyrejestruj i usuń stary serwer gotowości Postgres z dc-1:
      1. Wyrejestruj istniejący serwer gotowości dc-1 Postgres:
        > apigee-adminapi.sh wyrejestrowują się serwery -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        gdzie UUID jest w starym trybie gotowości
      2. Usuń istniejący serwer gotowości dc-1 Postgres:
        Uwaga: to polecenie nie odinstalowuje węzła serwera Postgres. Usuwa go tylko z listy węzłów brzegowych. W razie potrzeby możesz później odinstalować Postgres z węzła.
        > apigee-adminapi.sh serwery usuń -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. Zaktualizuj przestrzenie kluczy Cassandra, podając prawidłowy współczynnik replikacji dla 2 centrów danych. Tę czynność wystarczy wykonać tylko raz na dowolnym serwerze Cassandra w dowolnym centrum danych:

    Uwaga: wszystkie polecenia poniżej ustawiają współczynnik replikacji na 3, co wskazuje na 3 węzły Cassandra w klastrze. W razie potrzeby zmień tę wartość.
    1. Uruchom narzędzie Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Wykonaj następujące polecenia CQL w wierszu „cqlsh>”, aby ustawić poziomy replikacji przestrzeni kluczy Cassandra:
      1. cqlsh> ALTER KEYSPACE "identityzone" = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH replikacja = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Wyświetl przestrzenie kluczy za pomocą polecenia:
        cqlsh> select * from system.schema_keyspaces;
      4. Zamknij cqlsh:
        cqlsh> exit
  14. Uruchom to polecenie narzędzia nodetool na wszystkich węzłach Cassandra w dc-1, aby zwolnić pamięć:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP czyszczenie
  15. Dla każdej organizacji i każdego środowiska, które chcesz obsługiwać w centrach danych:
    1. W węźle serwera zarządzania dc-1 dodaj nowy MP_POD do organizacji:
      > apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p nazwa bramy-2 --admin adminEmail --pwd adminPword --host localhost

      jako właściwość gateway localhost
    2. Dodaj nowe procesory wiadomości do organizacji i środowiska:
      1. W węźle serwera zarządzania dc-2 pobierz identyfikatory UUID węzłów podmiotu przetwarzającego wiadomości w dc-2:
        > lista serwerów apigee-adminapi.sh

        Zapisz te wartości.
      2. W węźle serwera zarządzania dc-1 dla każdego podmiotu przetwarzającego wiadomości w dc-2 dodaj procesor wiadomości do środowiska organizacji:
        > apigee-adminapi.sh orgs serwery envs add -o orgName -e envName -u UUID --word hostEmail --pwd
    3. W węźle serwera zarządzania dc-1 sprawdź organizację:
      > apigee-adminapi.sh orgs apis Deploys -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      gdzie apiProxyName to nazwa organizacji API.