Installazione dell'API BaaS a 7 e 10 host

Edge per Private Cloud v. 4.16.05

Utilizzo di un bilanciatore del carico

Un'installazione in produzione di API BaaS utilizza un bilanciatore del carico tra il nodo del portale API BaaS e i nodi dello stack BaaS API. Durante la configurazione del portale, specifichi l'indirizzo IP o il nome DNS di al bilanciatore del carico, non ai nodi dello stack.

Come alternativa al bilanciatore del carico, puoi utilizzare il DNS round-robin. In questo scenario, crea una voce DNS con più record A corrispondenti agli indirizzi IP dello stack BaaS. Durante un DNS , il server DNS restituisce automaticamente i valori del record A in modalità "round robin".

Connessione a Cassandra

Durante l'installazione di BaaS, puoi scegliere di connettere BaaS ed Edge allo stesso cluster Cassandra, o creare un cluster Cassandra separato per BaaS. per le installazioni BaaS di piccole dimensioni, ovvero quelle con volumi di traffico inferiori, spesso condividono un cluster Cassandra con Edge.

Per la velocità effettiva e la disponibilità elevate o per separare i cluster Cassandra in di rete, Apigee consiglia di utilizzare cluster Cassandra separati. Cluster separati massimizzare le prestazioni in caso di carichi di traffico elevati su BaaS.

Sincronizzazione delle date

È necessario che la data e l'ora siano sincronizzate su tutti i server. Se non è già configurato, l'utilità "ntpdate" potrebbe servire a questo scopo, che verifica se i server sono sincronizzati. Puoi usare "yum install ntp" per installare l'utilità.

Sicurezza Tomcat

Il programma di installazione API BaaS installa anche il server Apache Tomcat su tutti i nodi API BaaS Stack. inclusa l'interfaccia utente dell'amministratore di Tomcat. Il programma di installazione lascia le credenziali di amministratore predefinite invariato da admin:admin.

Se necessario, puoi modificare queste credenziali per proteggere Tomcat. Per ulteriori informazioni informazioni, vedi:

Panoramica dell'installazione

Dopo aver installato l'utilità Edge apigee-setup su un nodo, usa quella per installare uno o più componenti BaaS sul nodo. L'utilità apigee-setup ha il formato:

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

Passa un file di configurazione all'utilità apigee-setup che contiene il parametro informazioni sull'installazione. Se nel file di configurazione mancano alcuni dati obbligatori informazioni, l'apigee-setup richiede di inserirlo nella riga di comando.

L'unico requisito è che il file di configurazione deve essere accessibile o leggibile dal "apigee" utente. Ad esempio, inserisci il file nella directory /tmp sul nodo.

Ad esempio, utilizza il seguente comando per installare lo stack BaaS dell'API:

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

L'utilità setup.sh Apigee supporta diverse opzioni per l'installazione dei componenti API BaaS. Le istruzioni riportate di seguito utilizzano opzioni autonome (c, e, b e p), ma puoi usare opzioni diverse in base al nodo configurazione:

Opzione

Descrizione

e

Installa solo ElasticSearch.

b

Installa solo lo stack BaaS dell'API, che installa anche Tomcat.

p

Installa solo il portale API BaaS, che installa anche il router Nginx da utilizzare come servizio web o server web.

c

Installa solo Cassandra.

mi

Installa ElasticSearch, API BaaS Stack e Tomcat sul nodo.

ebp

Installa ElasticSearch, API BaaS Portal, API BaaS Stack e Tomcat. Il portale è così e non sono necessarie risorse aggiuntive.

asa

Installa tutti i componenti API su un singolo nodo (Cassandra, Elasticsearch, API BaaS Stack, e il portale BaaS API). Utilizza questa opzione solo per lo sviluppo e i test, non per e produzione.

Creazione di una configurazione silenziosa file

Di seguito è riportato un esempio di file di configurazione invisibile per un'installazione BaaS dell'API a 10 nodi. Modifica questo file se necessario per la configurazione. Utilizza l'opzione -f per setup.sh per includere questo file.

# 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

La seguente tabella contiene informazioni aggiuntive su queste proprietà:

Proprietà

Nota

CASS_HOSTS

Se installi Cassandra, specifica gli IP dei nodi Cassandra (non i nomi DNS) e includi il modificatore ":dc,ra" che specifica il data center e il rack del Nodo Cassandra.

Ad esempio: "192.168.124.201:1,1 = datacenter 1 e rack/zona disponibilità 1 e '192.168.124.204:2,1 = data center 2 e rack/zona disponibilità 1.

CASS_USERNAME
CASS_PASSWORD

Nome utente e password Cassandra.

Se l'autenticazione Cassandra è disabilitata, devi comunque passare questi valori. Tuttavia, i valori vengono ignorati.

BAAS_CASS_LOCALDC

I nomi delle regioni devono avere il formato dc-#, dove # corrisponde a un valore intero.

Ad esempio, dc-1, dc-2 e così via. Se ti connetti a un cluster Cassandra installato con Edge, puoi chiedere questo valore all'amministratore di sistema Edge. In un singolo Edge dell'installazione del data center, il valore predefinito è dc-1.

Se hai installato Cassandra durante l'installazione dell'API BaaS, durante Cassandra hai aggiunto il modificatore ":dc,ra" agli indirizzi IP di Cassandra. Il primo valore "dc" è il numero del data center. Il nome del data center è la stringa "dc-" con il numero del data center come suffisso.

BAAS_CASS_REPLICATION

Il formato è "dataCenterName:#CassandraNodes". Ad esempio, per dc-1 con tre nodi Cassandra, è dc-1:3.

BAAS_USERGRID_URL

In un ambiente di produzione, questi sono l'URL e la porta del bilanciatore del carico che si trova davanti ai nodi dello stack BaaS dell'API, nel formato:

http://myStackLoadBalancer:8443

In un ambiente di test o di sviluppo in cui è presente un solo stack BaaS API , può essere l'URL e il numero di porta di un nodo API BaaS Stack, nel formato:

http://stackIPorDNS:8080

Il numero di porta del server API BaaS Stack è 8080.

BAAS_PORTAL_URL

L'URL e il numero di porta del bilanciatore del carico, se presenti davanti al portale, nel formato:

http://myPortalLoadBalancer:8443

Se non è presente un bilanciatore del carico, l'URL e il numero di porta del nodo del portale nella modulo:

http://portalIPorDNS:9000

Per impostazione predefinita, il numero di porta per il portale API BaaS è 9000.

BAAS_PORTAL_LISTEN_PORT

Il numero di porta per il server del portale BaaS API è 9000. Se questa porta non è disponibile, specificare una porta diversa.

Se imposti BAAS_PORTAL_URL sull'URL della Per quanto riguarda il nodo del portale, i numeri di porta devono essere uguali per entrambe le proprietà.

(Facoltativo) Installa Cassandra: macchina 8, 9 e 10

Sebbene sia possibile connettere API BaaS allo stesso cluster Cassandra utilizzato da Edge, Apigee di usare cluster separati.

Il cluster Cassandra può utilizzare l'autenticazione oppure l'autenticazione Cassandra può essere disabilitata. Consulta Attiva l'autenticazione Cassandra per altro ancora.

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando internet o una procedura non connessa a internet. Vedi Installare l'utilità apigee-setup Edge per altro ancora.
  2. Al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    L'opzione "-p c" specifica di installare Cassandra.
    Il file di configurazione deve essere accessibile o leggibile da "apigee" utente. Ad esempio, metti il file nella directory /tmp sul nodo.

La configurazione completa la configurazione del datastore sul nodo.

Tieni presente che JMX è abilitato per impostazione predefinita per Cassandra. L'accesso remoto JMX a Cassandra non richiedere una password. Puoi configurare Cassandra in modo che utilizzi l'autenticazione per JMX. Per ulteriori informazioni, vedi Come monitorare.

Configura cron job di Cassandra

Configura un cron job che utilizzi nodetool per lo svuotamento e l'esecuzione dei blocchi ogni ora su ogni nodo Cassandra.

Se hai più nodi Cassandra, applica l'offset di cron job su ciascun server di cinque minuti in modo che in modo che non venga eseguito il flush dei nodi contemporaneamente.

Il cron job deve eseguire questo comando:

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

dove IP_address è l'indirizzo IP del nodo Cassandra.

Installa ElasticSearch: Machine 1, 2, and 3

Per installare ElasticSearch:

  1. Installa l'utilità apigee-setup Edge sul nodo utilizzando internet o meno . Vedi Installare apigee-setup Edge un'utilità per ulteriori informazioni.
  2. Al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    L'opzione "-p e" specifica di installare ElasticSearch.
    Il file di configurazione deve essere accessibile o leggibile da "apigee" utente. Ad esempio, metti il file nella directory /tmp sul nodo.
  3. (Facoltativo) Se installi ElasticSearch su un nodo autonomo, ovvero non è installato con lo stack BaaS API, quindi regola l'opzione di memoria predefinita per aumentare la memoria allocata ElasticSearch da 4 a 6 GB:
    1. Apri /opt/apigee/customer/application/elasticsearch.properties in un editor. Se il file non esiste, crealo.
    2. Imposta il valore setenv_elasticsearch_max_mem_size su 6g (il valore predefinito è 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui questo comando:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch riavvio

La configurazione completa la configurazione sul nodo.

Installa lo stack BaaS API: macchina 4, 5 e 6

Per installare lo stack BaaS dell'API:

  1. Installa l'utilità apigee-setup Edge sul nodo utilizzando internet o meno . Vedi Installare apigee-setup Edge un'utilità per ulteriori informazioni.
  2. Al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    L'opzione "-p b" specifica di installare lo stack BaaS dell'API.
    Il file di configurazione deve essere accessibile o leggibile da "apigee" utente. Ad esempio, metti il file nella directory /tmp sul nodo.

Dopo aver recuperato le credenziali di amministratore corrette, il programma di installazione installa Tomcat e crea l'API. gli spazi delle chiavi BaaS e configura lo stack BaaS dell'API sul server. SMTP è configurato anche per consentire la UI per inviare email di conferma della password.

Installa il portale BaaS API: macchina 7

Per installare il portale BaaS dell'API:

  1. Installa l'utilità apigee-setup Edge sul nodo utilizzando internet o meno . Vedi Installare apigee-setup Edge un'utilità per ulteriori informazioni.
  2. Al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/setup/bin/setup.sh -p p -f configFile

    L'opzione "-p p" specifica di installare il portale BaaS dell'API.
    Il file di configurazione deve essere accessibile o leggibile da "apigee" utente. Ad esempio, metti il file nella directory /tmp sul nodo.

Il programma di installazione avvia il server web Nginx e quindi termina il portale BaaS dell'API. configurazione.

Prendi nota dell'URL del portale BaaS dell'API. Si tratta dell'URL che inserisci in un browser per accedere Interfaccia utente del portale API BaaS.

Configurare i nodi API BaaS per uno stack o bilanciatore del carico del portale

Se includi un bilanciatore del carico a monte dei nodi dello stack o del portale, devi configurare i nodi con l'URL corretto del bilanciatore del carico. Ad esempio, i nodi Stack richiedono informazioni quando:

  • Inclusione di un URL nelle risposte delle richieste API BaaS.
  • L'aggiunta di link nei modelli di email durante la reimpostazione della password o l'invio di altre notifiche.
  • Reindirizzamento degli utenti a pagine specifiche del portale.

Se utilizzi un bilanciatore del carico a monte dei nodi dello stack, imposta le seguenti proprietà in /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

Sostituisci http://localhost:8080 con l'URL del caricamento. con il bilanciatore del carico di rete passthrough esterno regionale. Se il bilanciatore del carico è configurato per l'utilizzo di TLS, utilizza il protocollo HTTPS. Devi eseguire devi includere la porta se stai utilizzando una porta non standard, ovvero qualcosa di diverso dalla porta 80 per HTTP e la porta 443 per HTTPS.

Devi anche impostare la seguente proprietà in /opt/apigee/customer/application/portal.properties se si utilizza un bilanciatore del carico davanti ai nodi dello stack:

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

Sostituisci http://localhost:8080 con l'URL del con il bilanciatore del carico di rete per lo stack.

Se utilizzi un bilanciatore del carico davanti al nodo del portale, imposta le seguenti proprietà in 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

Sostituisci http://localhost:9000 con l'URL del con il bilanciatore del carico di rete passthrough esterno regionale. Se il bilanciatore del carico è configurato per l'utilizzo di TLS, utilizza il protocollo HTTPS. Tu devi includere la porta solo se utilizzi una porta non standard, ovvero qualcosa di diverso da sulla porta 80 per HTTP e sulla porta 443 per HTTPS.

Dopo aver modificato usergrid.properties e portal.properties:

  1. Configura il nodo Stack:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. Esegui il deployment delle modifiche in Tomcat:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deployment
  3. Riavvia lo stack BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid reboot
  4. Se hai modificato portal.properties, configura il nodo Portal:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configure
  5. Esegui il deployment delle modifiche:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deployment
  6. Riavvia il portale BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal reboot

Onboarding di una nuova organizzazione

L'onboarding è il processo di creazione di un'organizzazione e di un amministratore dell'organizzazione. Dopo il giorno creando l'organizzazione e l'amministratore dell'organizzazione, puoi accedere al portale BaaS dell'API UI ed effettua richieste all'API REST BaaS dell'API.

Quando crei un'organizzazione, l'indirizzo email dell'amministratore dell'organizzazione:

  • Deve essere diverso dall'indirizzo email dell'amministratore di sistema.
  • Deve essere univoco tra tutte le altre organizzazioni. Vale a dire che non puoi creare due organizzazioni con lo stesso indirizzo email dell'amministratore dell'organizzazione. Tuttavia, dopo aver creato organizzazione, puoi aggiungere altri amministratori che possono essere duplicati su più le tue organizzazioni.

Per eseguire l'onboarding, utilizza lo script Python create_org_and_user.py. Se richiami questo script senza argomenti della riga di comando, viene visualizzato un prompt informazioni:

> python create_org_and_user.py

In alternativa, puoi passare una o tutte le opzioni come argomento della riga di comando. Vengono richiesti qualsiasi informazione omessa dalla riga di comando:

> 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>'

Per creare un'organizzazione:

  1. Cambia la directory in /opt/apigee/baas-usergrid/bin.
  2. Richiama lo script Python create_org_and_user.py.
    Ti verranno chiesti il nome utente e la password dell'amministratore del sistema BaaS. In questo modo amministratore può eseguirlo.
  3. Accedi al portale BaaS dell'API in un browser web utilizzando l'URL annotato alla fine della Installazione dell'URL del portale BaaS API. Per accedere al portale, inserisci l'URL del portale BaaS API in il modulo:
    http://{portalExternalIP}:9000/

    Nota: l'IP è l'indirizzo IP esterno/il nome host della macchina del portale. Assicurati la porta sia aperta.
  4. Quando viene visualizzata la schermata di accesso al portale, puoi:
    • Accedi utilizzando il nome utente e la password dell'amministratore dell'organizzazione.
    • Accedi utilizzando il nome utente e la password dell'amministratore dell'amministratore di sistema.

Accesso all'API REST BaaS dell'API

Per accedere all'API REST BaaS dell'API, utilizza un URL nel formato:

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

In un ambiente di sviluppo, puoi installare tutti i componenti API BaaS su un singolo nodo, il che significa che hai un solo stack BaaS API. Oppure potresti avere un ambiente piccolo con una Nodo API BaaS Stack e nessun bilanciatore del carico. In questi tipi di ambienti, puoi effettuare chiamate API direttamente al nodo API BaaS Stack:

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

Per ulteriori informazioni su come iniziare a utilizzare il portale BaaS API, consulta la documentazione di Apigee all'indirizzo: http://apigee.com/docs/content/build-apps-home.