Dodawanie centrum danych

Edge for Private Cloud w wersji 4.18.01

Z tego dokumentu dowiesz się, jak dodać centrum danych (nazywane też regionem) do istniejącego centrum danych.

Uwagi do rozważenia przed dodaniem centrum danych

Zanim zainstalujesz i dodasz centrum danych, musisz się nauczyć konfigurować serwery OpenLDAP, ZooKeeper, Cassandra i Postgres w różnych centrach danych. Musisz też zadbać o to, aby porty wymagane do komunikacji między węzłami w 2 centrach danych były otwarte.

  • OpenLDAP
    Każde centrum danych ma własny serwer OpenLDAP skonfigurowany z włączoną replikacją. Podczas instalacji nowego centrum danych musisz skonfigurować OpenLDAP do korzystania z replikacji, a także ponownie skonfigurować serwer OpenLDAP w istniejącym centrum danych, aby używać replikacji.
  • ZooKeeper
    Dla właściwości ZK_HOSTS w obu centrach danych podaj adresy IP lub nazwy DNS wszystkich węzłów ZooKeeper z obu centrów danych w tej samej kolejności i zaznacz wszystkie węzły za pomocą modyfikatora „:observer”. Węzły bez modyfikatora „:observer” nazywamy „głosującymi”. W konfiguracji musisz mieć nieparzy liczbę „głosujących”.

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



    W przykładowym pliku konfiguracyjnym pokazanym poniżej węzeł 9 jest oznaczony modyfikatorem „:observer”, dzięki czemu masz 5 głosujących: węzły 1, 2, 3, 7 i 8.

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

    W przypadku parametru CASS_HOSTS dla każdego centrum danych sprawdź, czy są określone wszystkie adresy IP Cassandra (a nie nazwy DNS) dla obu centrów danych. W przypadku centrum danych 1 najpierw wyświetl listę węzłów Cassandra w tym centrum danych. W przypadku centrum danych 2 najpierw wymień węzły Cassandra w tym centrum danych. Wymień 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, stojak/strefa dostępności 1 i „<ip>:2,1 = centrum danych 2 i szafka/strefa dostępności 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:2,1 192.168.124.205:2,1 192.168.124.206:2,1"

    Pierwszy węzeł w szafie serwerowej lub strefie dostępności 1 każdego centrum danych będzie używany jako serwer początkowy. 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 więcej centr danych, skonfiguruj węzły Postgres do korzystania z replikacji głównej i zapasowej, aby w przypadku awarii węzła głównego węzeł zapasowy mógł nadal przetwarzać ruch. Zwykle serwer główny Postgres jest konfigurowany w jednym centrum danych, a serwer zapasowy w drugim.

    Jeśli istniejące centrum danych jest już skonfigurowane tak, aby 2 węzły Postgres działały w trybie głównego/zapasowego, w ramach tej procedury zarejestruj istniejący węzeł zapasowy, a następnie zastąp go węzłem zapasowym w nowym centrum danych.

    Poniższa tabela przedstawia konfigurację Postgres przed i po zmianie w obu scenariuszach:

    Przed

    Po

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

    Główny węzeł Postgres w dc-1

    Węzeł Postgres w trybie czuwania w dc-2

    Główny węzeł Postgres w dc-1

    Węzeł zapasowy Postgres w dc-1

    Główny węzeł Postgres w dc-1

    Węzeł Postgres w trybie czuwania w dc-2

    Wyrejestruj stary węzeł rezerwowy Postgres w dc-1

  • Wymagania dotyczące portów
    Musisz się upewnić, że wymagane porty są otwarte między węzłami w 2 centrach danych. Schemat portów znajdziesz w artykule Wymagania dotyczące instalacji.

Aktualizowanie istniejącego centrum danych

Dodanie centrum danych wymaga wykonania czynności związanych z instalacją i konfiguracją nowych węzłów centrum danych, ale wymaga też zaktualizowania węzłów w pierwotnym centrum danych. Te modyfikacje są konieczne, ponieważ dodajesz nowe węzły Cassandra i ZooKeeper w nowym centrum danych, które muszą być dostępne dla istniejącego centrum danych. Musisz też ponownie skonfigurować OpenLDAP, aby używać replikacji.

Tworzenie plików konfiguracji

Poniżej znajdują się pliki konfiguracji w trybie cichym dla 2 centrów danych, z których każde ma 6 węzłów, jak pokazano w topologii instalacji. Zauważ, że plik konfiguracji 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 tej procedurze centra danych mają nazwy:

  • dc-1: istniejące centrum danych,
  • dc-2: nowe centrum danych.
  1. Na serwerze dc-1 ponownie uruchom polecenie setup.sh na oryginalnych węzłach Cassandra z nowym plikiem konfiguracji dc-1, który zawiera węzły Cassandra z serwera dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Na serwerze dc-1 ponownie uruchom polecenie setup.sh na hoście serwera zarządzającego:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Na serwerze dc-2 zainstaluj apigee-setup na wszystkich węzłach. Więcej informacji znajdziesz w artykule Instalowanie narzędzia apigee-setup w Edge.
  4. W przypadku dc-2 zainstaluj Cassandra i ZooKeeper w odpowiednich węzłach:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Na serwerze dc-2 uruchom polecenie odbudowy na wszystkich węzłach Cassandra, podając nazwę regionu dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. Na serwerze dc-2 zainstaluj serwer zarządzający na odpowiednim węźle:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. Na węźle serwera zarządzającego w dc-2 zainstaluj apigee-provision, który instaluje narzędzie apigee-adminapi.sh:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. W przypadku 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 serwer główny/zapasowy 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 zapasowym.

    Uwaga: jeśli dc-1 jest już skonfigurowana tak, aby mieć 2 węzły Postgres działające w trybie głównym/awaryjnym, w ramach tej procedury użyj istniejącego głównego węzła Postgres w dc-1 jako głównego i węzła Postgres w dc-2 jako serwera zapasowego. W dalszej części tej procedury zarejestrujesz istniejący serwer zapasowy Postgres w dc-1.
    1. Na węźle głównym w dc-1 otwórz plik konfiguracji i ustaw:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Włącz replikację na nowym hoście głównym:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. W węźle gotowości w dc-2 edytuj plik konfiguracji, aby ustawić:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Na węźle zapasowym w dc-2 zatrzymaj serwer, a następnie usuń wszystkie istniejące dane Postgres:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      > rm -rf /opt/apigee/data/apigee-postgresql/

      Uwaga: w razie potrzeby możesz utworzyć kopię zapasową tych danych przed ich usunięciem.
    5. Skonfiguruj węzeł zapasowy w dc-2:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. Na serwerze dc-1 zaktualizuj konfigurację Analytics i skonfiguruj organizacje.
    1. Na węźle serwera zarządzania w dc-1 pobierz identyfikator UUID węzła Postgres:
      > apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

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

      Uwaga: jeśli dc-1 ma 2 węzły Postgres działające w trybie głównego/włączonego w trybie gotowości, w danych wyjściowych zobaczysz 2 adresy IP i 2 identyfikatory UUID. Zapisz oba identyfikatory UUID. Na podstawie adresów IP powinno być możliwe określenie, który identyfikator UUID jest przeznaczony dla mastera, a który dla węzła gotowości.
    2. Na węźle serwera zarządzania w dc-2 uzyskaj identyfikator UUID węzła Postgres, jak pokazano w poprzednim kroku. Zapisz tę wartość.
    3. Na węźle serwera zarządzającego w dc-1 określ nazwy grup analitycznych i konsumenckich. Wiele z tych poleceń wymaga podania tych informacji.
      Domyślnie nazwa grupy analitycznej to axgroup-001, a nazwa grupy konsumentów to consumer-group-001. W pliku konfiguracji cichej dla danego regionu możesz ustawić nazwę grupy analitycznej za pomocą właściwości AXGROUP.

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

      To polecenie zwraca nazwę grupy analitycznej w polu nazwy oraz nazwę grupy konsumentów w polu Consumer-groups.
    4. Na węźle serwera zarządzania w dc-1 usuń istniejący serwer Postgres z grupy analitycznej:
      1. Usuń węzeł Postgres z grupy konsumentów:
        > apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Jeśli dc-1 ma skonfigurowane 2 węzły Postgres działające w trybie głównym/zapasowym, usuń oba:
        > apigee-adminapi.sh analytics groups consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. Usuń węzeł Postgres Postgres Postgres z grupy Analytics:
        > apigee-adminapi.sh analytics groups postgres_server_server Analytics groups postgres_server_225g axgroup-001 -u UUUUID -Y --admin adminEmail UUUID -Y --admin adminEmail UUUID -Y --admin adminEmail UUUID -Y --admin adminEmail --pwd adminPword --host localhost localhost.
        adminPword --host localhost localhost




    5. Na węźle serwera zarządzającego w dc-1 dodaj nowe serwery główne i zapasowe Postgres do grupy analitycznej:
      1. Dodaj oba serwery Postgres do grupy analitycznej:
        > apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        gdzie UUID_1 odpowiada głównemu nośnikowi serwera Postgres w dc-1, a UUID_2 odpowiada zapasowemu nośnikowi serwera Postgres w dc-2.
      2. Dodaj serwery PG do grupy konsumentów jako serwer główny lub zapasowy:
        > 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
    6. Dodaj serwery Qpid z dc-2 do grupy analitycznej:
      1. Na węźle serwera zarządzania w dc-1 pobierz identyfikatory UUID węzłów Qpid w dc-2:
        > apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        Identyfikatory UUID pojawiają się na końcu zwróconych danych. Zapisz te wartości.
      2. Na węźle serwera zarządzającego w dc-1 dodaj węzły Qpid do grupy analitycznej (wykonaj oba polecenia):
        >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
      3. Na węźle serwera zarządzającego w dc-1 dodaj węzły Qpid do grupy konsumentów (wykonaj oba polecenia):
        > apigee-adminapi.sh analytics groups consumer_groups consumers add -g axgroup-001 -c consumer-group-001 -u "UUID_1" --admin adminEmail --pwd adminPword --host localhost

        > apigee-adminapi.sh analytics groups consumer_groups consumers add -g axgroup-001 -c consumer-group-001 -u "UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. Wyrejestruj i usuń stary serwer zapasowy Postgres z dc-1:
      1. Wyrejestruj istniejący serwer gotowości Postgres dc-1:
        > serwery apigee-adminapi.sh wyrejestrują -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        gdzie UUID to stary host dcgres w trybie gotowości
      2. Usuń istniejący serwer zapasowy Postgres dc-1:
        Uwaga: to polecenie nie odinstaluje węzła serwera Postgres. Spowoduje to tylko usunięcie go z listy węzłów Edge. W razie potrzeby możesz odinstalować Postgresa z węzła.
        > apigee-adminapi.sh servers delete -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. Zaktualizuj kluczowe przestrzenie Cassandra, stosując prawidłowy współczynnik replikacji dla obu centrów danych. Wystarczy wykonać ten krok tylko raz na dowolnym serwerze Cassandra w dowolnym centrum danych:

    Uwaga: podane niżej polecenia powodują ustawienie współczynnika replikacji na „3”, co oznacza, że w klastrze znajdują się 3 węzły Cassandra. W razie potrzeby zmień tę wartość.
    1. Uruchom narzędzie Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Aby ustawić poziomy replikowania w kluczowych przestrzeniach danych Cassandra, uruchom te polecenia CQL w wierszu poleceń „cqlsh>”:
      1. cqlsh> ALTER KEYSPACE "identityzone" WITH replication = { '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. Aby wyświetlić klucze, użyj polecenia:
        cqlsh> select * from system.schema_keyspaces;
      4. Zamknij cqlsh:
        cqlsh> exit
  14. Aby zwolnić pamięć, uruchom to polecenie nodetool na wszystkich węzłach Cassandra w dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP czyszczenie
  15. W przypadku każdej organizacji i każdego środowiska, które chcesz obsługiwać w centrach danych:
    1. Na węźle serwera zarządzania w dc-1 dodaj nowy MP_POD do organizacji:
      > apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      gdzie gateway-2 to nazwa węzła bramy zdefiniowana przez właściwość MP_POD w pliku konfiguracji dc-2.
    2. Dodaj nowe procesory wiadomości do organizacji i środowiska:
      1. Na węźle serwera zarządzającego w dc-2 pobierz UUID węzłów procesora wiadomości w dc-2:
        > apigee-adminapi.sh servers list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID pojawiają się na końcu zwróconych danych. Zapisz te wartości.
      2. Na węźle serwera zarządzającego w dc-1 dla każdego procesora wiadomości w dc-2 dodaj procesor wiadomości do środowiska organizacji:
        > apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. Na węźle serwera zarządzania w dc-1 sprawdź organizację:
      > apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      gdzie apiProxyName to nazwa serwera proxy interfejsu API wdrożonego w organizacji.