Instalacja interfejsu BaaS API

Edge for Private Cloud w wersji 4.16.09

Korzystanie z systemu równoważenia obciążenia

Instalacja produkcyjna interfejsu API BaaS korzysta z systemu równoważenia obciążenia między węzłem portalu BaaS API i węzłów stosu BaaS API. Konfigurując portal, określasz adres IP lub nazwę DNS systemu równoważenia obciążenia, a nie węzłów stosu.

Alternatywą dla systemu równoważenia obciążenia jest stosowanie systemu DNS typu „round robin”. W tym scenariuszu utwórz wpis DNS z wieloma rekordami A odpowiadającymi adresom IP stosu BaaS. Podczas konfiguracji DNS , serwer DNS automatycznie zwraca wartości rekordu A w sposób cykliczny.

Łączę z Cassandra

Instalując BaaS, możesz połączyć BaaS i Edge z tym samym klastrem Cassandra. lub utworzyć oddzielny klaster Cassandra dla BaaS. Mniejsze instalacje BaaS, czyli te z mniejsze natężenie ruchu, często współużytkują klaster Cassandra z Edge.

Ze względu na dużą przepustowość i dostępność lub do rozdzielenia klastrów Cassandra na różne stref sieciowych, Apigee zaleca używanie oddzielnych klastrów Cassandra. Oddzielne klastry jeśli masz do czynienia z dużym ruchem w BaaS, zmaksymalizuj wydajność.

Synchronizacja dat

Należy ustawić datę i godzinę na wszystkich serwerach. Jeśli nie zostało jeszcze skonfigurowane, Do tego celu może służyć narzędzie „ntpdate”, które sprawdza, czy serwery . Aby zainstalować to narzędzie, możesz użyć polecenia „yum install ntp”.

Zabezpieczenia Tomcat

Instalator BaaS API instaluje też serwer Apache Tomcat na wszystkich węzłach stosu BaaS API, w tym interfejs administratora Tomcat. Instalator pozostawia domyślne dane logowania administratora. Brak zmian dla roli admin:admin.

W razie potrzeby możesz zmienić te dane logowania w ramach zabezpieczeń urządzenia Tomcat. Więcej Więcej informacji:

Omówienie instalacji

Po zainstalowaniu narzędzia Edge apigee-setup w węźle używaj tego do zainstalowania co najmniej jednego komponentu BaaS w węźle. Narzędzie apigee-setup ma postać:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

Przekaż plik konfiguracji do narzędzia apigee-setup, który zawiera informacje na temat instalacji. Jeśli w pliku konfiguracji brakuje jakichkolwiek wymaganych parametr apigee-setup, zobaczysz prośbę o wpisanie go w wierszu poleceń.

Jedynym wymaganiem jest to, aby plik konfiguracji był dostępny i czytelny dla „apigee” użytkownika.

Możesz na przykład zainstalować stos BaaS API za pomocą następującego polecenia:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Narzędzie Apigee setup.sh obsługuje kilka opcji instalacji komponentów BaaS API. Poniższe instrukcje dotyczą samodzielnych opcji (c, e, b i p), ale można użyć różnych opcji w zależności od węzła Konfiguracja:

Opcja

Opis

e

Zainstaluj tylko ElasticSearch.

b

Zainstaluj tylko stos BaaS API, który instaluje też Tomcat.

p

Zainstaluj tylko portal API BaaS, który instaluje też router Nginx do używania jako sieć serwera.

C

Zainstaluj tylko Cassandra.

eb

Zainstaluj w węźle ElasticSearch, stos BaaS API i Tomcat.

ebp

Zainstaluj ElasticSearch, portal BaaS API, stos BaaS API i Tomcat. Portal jest taki i nie wymaga dodatkowych zasobów.

Asa

Zainstaluj wszystkie komponenty interfejsu API w jednym węźle (Cassandra, Elasticsearch, stos BaaS API, i portalu API BaaS). Używaj tej opcji tylko do programowania i testowania, nie w przypadku produkcji.

Tworzenie konfiguracji cichej plik

Poniżej znajduje się przykładowy plik konfiguracji cichej dla instalacji BaaS interfejsu API z 10 węzłami. Edytuj zgodnie z potrzebami konfiguracji. Aby dołączyć ten plik, użyj opcji -f, aby uruchomić setup.sh.

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

Poniższa tabela zawiera dodatkowe informacje o tych właściwościach:

Właściwość

Uwaga

CASS_HOSTS

Jeśli instalujesz Cassandra, podaj adresy IP węzłów Cassandra (nie nazwy DNS) oraz zawierać modyfikator „:dc,ra”, który określa centrum danych i stojak Węzeł Cassandra.

Na przykład „192.168.124.201:1,1 = centrum danych 1 i stojak/strefa dostępności 1”. '192.168.124.204:2,1 = centrum danych 2 i stojak/strefa dostępności 1.

CASS_USERNAME
CASS_PASSWORD

Nazwa użytkownika i hasło Cassandra.

Nawet jeśli uwierzytelnianie Cassandra jest wyłączone, i tak musisz przekazać te wartości. Pamiętaj jednak: są ignorowane.

BAAS_CASS_LOCALDC

Nazwy regionów muszą mieć format dc-#, gdzie # odpowiada wartości całkowitej.

Na przykład dc-1, dc-2 itp. Jeśli łączysz się z zainstalowanym klastrem Cassandra W przypadku przeglądarki Edge możesz poprosić o tę wartość administratora systemu Edge. In the Edge singiel instalacji centrum danych, wartość domyślna to dc-1.

Jeśli system Cassandra został zainstalowany w ramach instalacji interfejsu API BaaS, wtedy podczas instalacji systemu Cassandra do adresów IP Cassandra został dodany modyfikator „:dc,ra”. Pierwsza wartość „dc” to numer centrum danych. Nazwa centrum danych to ciąg znaków „dc-”. z sufiksem numeru centrum danych.

BAAS_CASS_REPLICATION

Format to „dataCenterName:#CassandraNodes”. Na przykład w przypadku dc-1 z 3 węzłami Cassandra jest to dc-1:3.

BAAS_USERGRID_URL

W środowisku produkcyjnym są to adresy URL i port systemu równoważenia obciążenia, które znajdują się przed węzłami stosu BaaS API w postaci:

http://myStackLoadBalancer:8443

w środowisku testowym lub programistycznym, w którym masz tylko jeden stos BaaS API; węzła, może to być adres URL i numer portu węzła stosu BaaS API w formacie:

http://stackIPorDNS:8080

Numer portu serwera stosu BaaS API to 8080.

BAAS_PORTAL_URL

adres URL i numer portu systemu równoważenia obciążenia, jeśli znajduje się on przed portalem; w formacie:

http://myPortalLoadBalancer:8443

Jeśli nie ma systemu równoważenia obciążenia, adres URL i numer portu węzła portalu formularz:

http://portalIPorDNS:9000

Domyślnie numer portu API BaaS Portal to 9000.

BAAS_PORTAL_LISTEN_PORT

Numer portu serwera API BaaS Portal to 9000. Jeśli ten port jest niedostępny, i określ inny port.

Jeśli ustawiasz BAAS_PORTAL_URL na adres URL węzła portalu, numery portów muszą być takie same w przypadku obu usług.

Opcjonalnie – zainstaluj Cassandra: Machine 8, 9 i 10

Możesz połączyć API BaaS z tym samym klastrem Cassandra używanym przez Edge, ale Apigee zaleca używanie oddzielnych klastrów.

Klaster Cassandra może używać uwierzytelniania lub wyłączyć uwierzytelnianie Cassandra. Zobacz Włącz uwierzytelnianie Cassandra dla: i innych.

  1. Zainstaluj narzędzie Edge apigee-setup na węźle, korzystając z za pomocą internetu, czy też poza internetem. Zapoznaj się z sekcją Instalowanie narzędzia Edge apigee-setup, i innych.
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    Opcja „-p c” określa, czy należy zainstalować system Cassandra.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.

Konfiguracja kończy proces konfiguracji magazynu danych w węźle.

Zwróć uwagę, że standard JMX jest domyślnie włączony dla Cassandra. Zdalny dostęp JMX do Cassandra nie wymagać hasła. Możesz skonfigurować Cassandra tak, aby używała uwierzytelniania dla JMX. Więcej informacji: Jak monitorować dane.

Konfigurowanie zadania Cassandra cron

Skonfiguruj zadanie cron, które używa narzędzia nodetool do czyszczenia pamięci blokad co godzinę. w każdym węźle Cassandra.

Jeśli masz wiele węzłów Cassandra, przesuń zadanie cron na każdym serwerze o pięć minut, aby nie opróżniać wszystkich węzłów w tym samym czasie.

Zadanie cron musi wykonać to polecenie:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

gdzie IP_address to adres IP węzła Cassandra.

Instalowanie ElasticSearch: Machine 1, 2 i 3

Aby zainstalować ElasticSearch:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z internetu lub spoza internetu . Zobacz Instalowanie Edge apigee-setup .
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    Opcja „-p e” wskazuje, że należy zainstalować ElasticSearch.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.
  3. (Opcjonalnie) Jeśli zainstalujesz ElasticSearch w samodzielnym węźle, czyli nie jest on zainstalowany za pomocą stosu BaaS API, a następnie dostosować domyślną opcję pamięci, aby zwiększyć ilość pamięci przydzielonej ElasticSearch od 4 GB do 6 GB:
    1. Otwórz /opt/apigee/customer/application/elasticsearch.properties w edytorze. Jeśli ten plik nie istnieje, utwórz go.
    2. Ustaw setenv_elasticsearch_max_mem_size do 6g (wartość domyślna to 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Zapisz plik.
    4. Uruchom to polecenie:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

Konfiguracja kończy konfigurację w węźle.

Zainstaluj stos BaaS API: maszyna 4, 5 i 6

Aby zainstalować stos BaaS API:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z internetu lub spoza internetu . Zobacz Instalowanie Edge apigee-setup .
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    Opcja „-p b” określa, czy należy zainstalować stos BaaS API.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.

Po pobraniu prawidłowych danych logowania administratora instalator instaluje rozszerzenie Tomcat i tworzy interfejs API. i skonfigurować stos BaaS API na serwerze. Protokół SMTP jest skonfigurowany tak, aby zezwalać na wysyłania e-maili z potwierdzeniem hasła.

Zainstaluj portal API BaaS: Machine 7

Aby zainstalować portal BaaS API:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z internetu lub spoza internetu . Zobacz Instalowanie Edge apigee-setup .
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    Opcja „-p p” wskazuje, że należy zainstalować portal BaaS API.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.

Instalator uruchamia serwer internetowy Nginx, a następnie kończy portal API BaaS. konfiguracji.

Zanotuj adres URL portalu BaaS API. Jest to adres URL, który musisz wpisać w przeglądarce, aby uzyskać dostęp do Interfejs API BaaS Portal.

Konfigurowanie węzłów BaaS interfejsu API dla stosu lub system równoważenia obciążenia portalu

Jeśli umieścisz system równoważenia obciążenia przed węzłami stosu lub portalu, musisz skonfigurować węzłów z prawidłowym adresem URL systemu równoważenia obciążenia. Na przykład węzły stosu wymagają tego , gdy:

  • Umieszczanie adresu URL w odpowiedziach w żądaniach do interfejsu BaaS API.
  • dodawania linków w szablonach e-maili podczas resetowania hasła lub wysyłania innych wiadomości, powiadomienia.
  • Przekierowywanie użytkowników na strony konkretnych portali.

Jeśli używasz systemu równoważenia obciążenia przed węzłami stosu, ustaw poniższe właściwości w argumencie /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

Zastąp ciąg http://localhost:8080 adresem URL wczytywania. systemu równoważenia obciążenia. Jeśli system równoważenia obciążenia jest skonfigurowany do używania protokołu TLS, użyj protokołu HTTPS. Tylko Ty musisz uwzględnić port, jeśli używasz portu niestandardowego, czyli innego niż port 80 w przypadku HTTP i port 443 w przypadku HTTPS.

Musisz też ustawić tę właściwość w /opt/apigee/customer/application/portal.properties , jeśli: używasz systemu równoważenia obciążenia przed węzłami stosu:

baas.portal.config.overrideUrl=http://localhost:8080

Zastąp http://localhost:8080 adresem URL systemu równoważenia obciążenia dla stosu.

Jeśli używasz systemu równoważenia obciążenia przed węzłem Portalu, ustaw te właściwości w usergrid.properties:

usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

Zastąp http://localhost:9000 adresem URL systemu równoważenia obciążenia. Jeśli system równoważenia obciążenia jest skonfigurowany do używania protokołu TLS, użyj protokołu HTTPS. Ty uwzględniaj go tylko wtedy, gdy korzystasz z portu niestandardowego, czyli innego niż port 80 w przypadku HTTP i 443 w przypadku HTTPS.

Po zakończeniu edytowania plików usergrid.properties i portal.properties:

  1. Skonfiguruj węzeł stosu:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid setup
  2. Wdróż zmiany w środowisku Tomcat:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid wdrożenia
  3. Uruchom ponownie stos BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid restart
  4. Jeśli zmodyfikowano plik portal.properties, skonfiguruj węzeł portalu:
    /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configure
  5. Wprowadź zmiany:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. Uruchom ponownie portal BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal restart

Wprowadzanie nowej organizacji

Rejestracja to proces tworzenia organizacji i jej administratora. Po utworzenie administratora organizacji lub organizacji, możesz zalogować się w portalu BaaS API Interfejs użytkownika i wysyłanie żądań do interfejsu API BaaS typu REST.

Gdy utworzysz organizację, adres e-mail jej administratora:

  • Musi być inny niż adres e-mail administratora systemu.
  • Musi być niepowtarzalna wśród wszystkich innych organizacji. Oznacza to, że nie można utworzyć dwóch organizacji. z tym samym adresem e-mail co administrator organizacji. Po utworzeniu jednak organizacji, można dodać kolejnych administratorów, których organizacji non-profit.

Aby przeprowadzić wprowadzenie, użyj skryptu Pythona create_org_and_user.py. Wywoływanie tego skryptu bez argumentów wiersza poleceń powoduje, że wyświetla się prośba o informacje:

> python create_org_and_user.py

Jako argument wiersza poleceń możesz też przekazać wszystkie lub wszystkie opcje. Pojawi się prośba o wszelkie informacje pominięte w wierszu poleceń:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

Aby utworzyć organizację:

  1. Zmień katalog na /opt/apigee/baas-usergrid/bin.
  2. Wywołaj skrypt Pythona create_org_and_user.py.
    Zostanie wyświetlony monit o podanie nazwy użytkownika i hasła administratora systemu BaaS, aby tylko może ją uruchomić administrator.
  3. Zaloguj się w portalu API BaaS w przeglądarce, korzystając z adresu URL podanego na końcu Instalacja adresu URL portalu API BaaS. Aby uzyskać dostęp do portalu, wpisz URL portalu BaaS API w polu formularz:
    http://{portalExternalIP}:9000/

    Uwaga: adres IP to zewnętrzny adres IP/nazwa hosta maszyny portalu. Sprawdź, czy ten port jest otwarty.
  4. Gdy pojawi się ekran logowania do portalu, możesz:
    • Zaloguj się przy użyciu nazwy użytkownika i hasła administratora organizacji.
    • Zaloguj się przy użyciu nazwy użytkownika i hasła administratora systemu.

Dostęp do interfejsu API BaaS typu REST

Aby uzyskać dostęp do interfejsu API BaaS typu REST, użyj adresu URL w formacie:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

W środowisku programistycznym możesz zainstalować wszystkie komponenty BaaS API w jednym węźle, co oznacza, że masz pojedynczy stos BaaS API. Innym przykładem może być małe środowisko z Węzeł stosu BaaS API i brak systemu równoważenia obciążenia. W tego typu środowiskach możesz wykonywać wywołania interfejsu API bezpośrednio do węzła stosu BaaS API:

curl -v "http://portalExternalIP:8080/status"

Aby dowiedzieć się, jak zacząć korzystać z portalu API BaaS, zapoznaj się z dokumentacją Apigee na stronie: http://apigee.com/docs/content/build-apps-home.