Edge dla chmury prywatnej w wersji 4.17.09
W tym dokumencie opisano, jak dodać centrum danych (nazywane też regionem) do istniejącego centrum danych.
Co należy wziąć pod uwagę przed dodaniem centrum danych
Zanim dodasz centrum danych, musisz wiedzieć, jak skonfigurować serwery OpenLDAP, ZooKeeper, Cassandra i Postgres w centrach danych. Musisz też upewnić się, że niezbędne porty są otwarte między węzłami w obu centrach danych.
- OpenLDAP
Każde centrum danych ma własny serwer OpenLDAP skonfigurowany z włączoną replikacją. Podczas instalowania nowego centrum danych musisz skonfigurować OpenLDAP tak, aby używał replikacji, oraz ponownie skonfigurować serwer OpenLDAP w istniejącym centrum danych, aby używał replikacji. - ZooKeeper
We właściwości ZK_HOSTS dla 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łosującymi”. W konfiguracji musi być nieparzysta liczba „głosujących”.
W tej topologii host ZooKeeper na hoście 9 jest obserwatorem:

W przykładowym pliku konfiguracji poniżej węzeł 9 jest oznaczony modyfikatorem „:observer”, dzięki czemu masz 5 węzłów głosujących: 1, 2, 3, 7 i 8.
W przypadku 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 dla każdego centrum danych podaj wszystkie adresy IP (nie nazwy DNS) Cassandra dla 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ę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 i szafa/strefa dostępności 1 oraz „<ip>:2,1 = centrum danych 2 i szafa/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/strefie dostępności 1 każdego centrum danych będzie używany jako serwer źródłowy. W tym modelu wdrożenia konfiguracja systemu Cassandra będzie wyglądać tak:

-
Postgres
Domyślnie Edge instaluje wszystkie węzły Postgres w trybie głównym. Jeśli jednak masz kilka centrów danych, skonfiguruj węzły Postgres tak, aby używały replikacji master-standby. Dzięki temu, jeśli węzeł główny ulegnie awarii, węzeł rezerwowy będzie mógł nadal obsługiwać ruch. Zwykle główny serwer Postgres konfiguruje się w jednym centrum danych, a serwer rezerwowy w drugim.
Jeśli istniejące centrum danych jest już skonfigurowane tak, aby miało 2 węzły Postgres działające w trybie głównym/gotowości, 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 przedstawiono konfigurację Postgres przed i po 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 gotowości w dc-2
Główny węzeł Postgres w dc-1
Węzeł Postgres w trybie gotowości w dc-1
Główny węzeł Postgres w dc-1
Węzeł Postgres w trybie gotowości w dc-2
Wyrejestruj stary węzeł Postgres w trybie gotowości w dc-1
- Wymagania dotyczące portów
Musisz upewnić się, że niezbędne porty są otwarte między węzłami w obu 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, i musisz ponownie skonfigurować OpenLDAP, aby używać replikacji.
Tworzenie plików konfiguracji
Poniżej przedstawiono pliki konfiguracji instalacji dyskretnej dla 2 centrów danych, z których każde ma 6 węzłów, jak pokazano w sekcji Topologie instalacji. Zwróć uwagę, że plik konfiguracji dc-1 dodaje dodatkowe ustawienia do:
- Skonfiguruj OpenLDAP z replikacją na 2 węzłach OpenLDAP.
- Dodaj nowe węzły Cassandra i ZooKeeper z dc-2 do pliku konfiguracji 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.
- W dc-1 ponownie uruchom setup.sh w pierwotnych 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 - W dc-1 ponownie uruchom setup.sh w węźle serwera zarządzania:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1 - W dc-2 zainstaluj apigee-setup we wszystkich węzłach. Więcej informacji znajdziesz w artykule Instalowanie narzędzia apigee-setup w Edge.
- W dc-2 zainstaluj Cassandrę i ZooKeepera w odpowiednich węzłach:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2 - W dc-2 uruchom polecenie przebudowy we wszystkich węzłach Cassandra, podając nazwę regionu dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1 - W dc-2 zainstaluj serwer zarządzania w odpowiednim węźle:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2 - Na węźle serwera zarządzania w dc-2 zainstaluj apigee-provision, który instaluje narzędzie apigee-adminapi.sh:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision install - W dc-2 zainstaluj routery i procesory komunikatów w odpowiednich węzłach:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2 - W dc-2 zainstaluj Qpid w odpowiednich węzłach:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2 - W dc-2 zainstaluj Postgres w odpowiednim węźle:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2 - Skonfiguruj węzły Postgres w trybie master/standby. Węzeł Postgres w dc-1 jest węzłem głównym, a węzeł Postgres w dc-2 jest serwerem rezerwowym.
Uwaga: jeśli dc-1 jest już skonfigurowany tak, aby mieć 2 węzły Postgres działające w trybie głównym/czuwania, w ramach tej procedury użyj istniejącego głównego węzła Postgres w dc-1 jako węzła głównego, a węzła Postgres w dc-2 jako serwera czuwania. W dalszej części tej procedury wyrejestrujesz istniejący serwer rezerwowy Postgres w dc-1.- Na węźle głównym w dc-1 zmodyfikuj plik konfiguracji, aby ustawić:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - Włącz replikację na nowym serwerze głównym:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle - Na węźle rezerwowym w dc-2 zmodyfikuj plik konfiguracji, aby ustawić:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - Na węźle rezerwowym 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. - Skonfiguruj węzeł rezerwowy w dc-2:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Na węźle głównym w dc-1 zmodyfikuj plik konfiguracji, aby ustawić:
- W dc-1 zaktualizuj konfigurację Analytics i skonfiguruj organizacje.
- W węźle serwera zarządzania 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 jest skonfigurowany tak, aby mieć 2 węzły Postgres działające w trybie głównym/czuwania, w danych wyjściowych zobaczysz 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 przeznaczony dla węzła głównego, a który dla węzła rezerwowego. - Na węźle serwera zarządzania dc-2 pobierz identyfikator UUID węzła Postgres, jak pokazano w poprzednim kroku. Zapisz tę wartość.
- W węźle serwera zarządzania dc-1 określ nazwę grup Analytics i konsumentów. Wiele z poniższych poleceń wymaga tych informacji.
Domyślnie nazwa grupy analitycznej to axgroup-001, a nazwa grupy konsumentów to consumer-group-001. W pliku konfiguracji dyskretnej dla regionu możesz ustawić nazwę grupy analitycznej za pomocą właściwości AXGROUP.
Jeśli nie masz pewności, jak nazywają się grupy analityczne i grupy konsumentów, wyświetl je za pomocą tego polecenia:
> apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost
To polecenie zwraca nazwę grupy analitycznej w polu name i nazwę grupy konsumentów w polu consumer-groups. - W węźle serwera zarządzania dc-1 usuń istniejący serwer Postgres z grupy Analytics:
- Usuń węzeł Postgres z grupy odbiorcó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 jest skonfigurowany tak, aby mieć 2 węzły Postgres działające w trybie podstawowym/czuwania, 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 - 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 dc-1 jest skonfigurowany tak, aby mieć 2 węzły Postgres działające w trybie głównym/czuwania, usuń oba:
> apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
- Usuń węzeł Postgres z grupy odbiorców:
-
W węźle serwera zarządzania dc-1 dodaj nowe serwery Postgres (główny i rezerwowy) do grupy Analytics:
- 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
gdzie UUID_1 odpowiada głównemu węzłowi Postgres w dc-1, a UUID_2 odpowiada zapasowemu węzłowi Postgres w dc-2. - Dodaj serwery PG do grupy odbiorców jako serwery główne/rezerwowe:
> 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
- Dodaj oba serwery Postgres do grupy Analytics:
- Dodaj serwery Qpid z dc-2 do grupy analitycznej:
- Na węźle serwera zarządzania 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 pojawią się na końcu zwróconych danych. Zapisz te wartości. - W węźle serwera zarządzania dc-1 dodaj węzły Qpid do grupy Analytics:
>apigee-adminapi.sh analytics groups qpid_server add -g axgroup-001 -u "UUID_1 UUID_2" --admin adminEmail --pwd adminPword --host localhost - Na węźle serwera zarządzania dc-1 dodaj węzły Qpid do grupy konsumentów:
> apigee-adminapi.sh analytics groups consumer_groups consumers add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
- Na węźle serwera zarządzania dc-1 pobierz identyfikatory UUID węzłów Qpid w dc-2:
- Wyrejestruj i usuń stary serwer rezerwowy Postgres z dc-1:
- Wyrejestruj istniejący serwer rezerwowy Postgres dc-1:
> apigee-adminapi.sh servers deregister -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost
gdzie UUID to stary węzeł rezerwowy Postgres w dc-1. - Usuń istniejący serwer rezerwowy Postgres dc-1:
Uwaga: to polecenie nie odinstalowuje węzła serwera Postgres. Spowoduje to tylko usunięcie go z listy węzłów brzegowych. W razie potrzeby możesz później odinstalować Postgres z węzła.
> apigee-adminapi.sh servers delete -u UUID --admin adminEmail --pwd adminPword --host localhost
- Wyrejestruj istniejący serwer rezerwowy Postgres dc-1:
- W węźle serwera zarządzania dc-1 pobierz identyfikator UUID węzła Postgres:
- Zaktualizuj przestrzenie kluczy Cassandra, podając prawidłowy współczynnik replikacji dla 2 centrów danych. Wystarczy, że wykonasz ten krok tylko raz na dowolnym serwerze Cassandra w jednym z centrów danych:
Uwaga: wszystkie poniższe polecenia ustawiają współczynnik replikacji na „3”, co oznacza 3 węzły Cassandra w klastrze. W razie potrzeby zmień tę wartość w swojej instalacji.- Uruchom narzędzie cqlsh Cassandra:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Aby ustawić poziomy replikacji dla przestrzeni kluczy Cassandra, uruchom te polecenia CQL po znaku zachęty „cqlsh>”:
- 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' };
- Wyświetl przestrzenie kluczy za pomocą polecenia:
cqlsh> select * from system.schema_keyspaces; - Zamknij cqlsh:
cqlsh> exit
- Uruchom narzędzie cqlsh Cassandra:
- Aby zwolnić pamięć, uruchom to polecenie nodetool na wszystkich węzłach Cassandra w dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup - W przypadku każdej organizacji i każdego środowiska, które chcesz obsługiwać w centrach danych:
- 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 gateway-2 --admin adminEmail --pwd adminPword --host localhost
gdzie gateway-2 to nazwa poda bramy zdefiniowana przez właściwość MP_POD w pliku konfiguracji dc-2. - Dodaj nowe procesory komunikatów do organizacji i środowiska:
- W węźle serwera zarządzania dc-2 pobierz identyfikatory UUID węzłów procesora komunikatów w dc-2:
> apigee-adminapi.sh servers list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost
Identyfikatory UUID pojawią się na końcu zwróconych danych. Zapisz te wartości. - Na węźle serwera zarządzania dc-1 dla każdego procesora komunikatów w dc-2 dodaj procesor komunikatów do środowiska organizacji:
> apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
- W węźle serwera zarządzania dc-2 pobierz identyfikatory UUID węzłów procesora komunikatów w dc-2:
- W węźle serwera zarządzania 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.
- W węźle serwera zarządzania dc-1 dodaj nowy MP_POD do organizacji: