Installazione dell'API BaaS

Edge per Private Cloud v4.18.01

Panoramica dell'installazione

Dopo aver installato Edge, l'utilità apigee-setup su un nodo, utilizza questa utilità per installare uno o più componenti BaaS sul nodo.

L'utilità apigee-setup ha il seguente modulo:

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

Passa un file di configurazione all'utilità apigee-setup che contiene le informazioni sull'installazione. Se nel file di configurazione mancano eventuali informazioni richieste, l'utilità apigee-setup ti chiede di inserirle nella riga di comando.

L'unico requisito è che il file di configurazione sia accessibile o leggibile dall'utente "apigee".

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

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

Specifica dei componenti da installare

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

Opzione

Descrizione

e

Installa solo ElasticSearch.

b

Installa solo l'API BaaS Stack, che installa anche Tomcat.

p

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

c

Installa solo Cassandra.

eb

Installa ElasticSearch, API BaaS Stack e Tomcat sul nodo.

ebp

Installa ElasticSearch, il portale API BaaS, l'API BaaS Stack e Tomcat, ma non Cassandra. Il portale è talmente leggero che non sono necessarie risorse aggiuntive.

asa

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

Creazione di un file di configurazione

Il file di configurazione contiene tutte le informazioni necessarie per l'installazione dell'API BaaS. Spesso puoi utilizzare lo stesso file di configurazione per installare tutti i componenti di un'installazione BaaS.

Ogni topologia di installazione descritta di seguito mostra un file di configurazione di esempio per quella topologia. Per un riferimento completo sul file di configurazione, consulta la sezione Riferimento per il file di configurazione BaaS.

Installa l'API BaaS su un singolo nodo

Di seguito è mostrato il file di configurazione per l'installazione dell'API BaaS su un singolo nodo. Modifica questo file come necessario per la tua configurazione. Per un riferimento completo sul file di configurazione, consulta la pagina relativa al riferimento sul file di configurazione BaaS.

IP1=192.168.56.101   # IP address of single node

# 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=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

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

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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
SMTPMAILFROM="My Company <myco@company.com>"

Per installare l'API BaaS sul proprio nodo:

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando la procedura internet o non internet. Per saperne di più, consulta Installare l'utilità Edge apigee-setup.
  2. Al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile

    L'opzione "-p asa" specifica di installare tutti i componenti API BaaS su un singolo nodo (Cassandra, Elasticsearch, API BaaS Stack, API BcataS).
    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".
  3. Poiché hai installato ElasticSearch su un nodo autonomo, modifica l'opzione di memoria predefinita per aumentare la memoria allocata per ElasticSearch da 4 GB a 6 GB:
    1. Apri /opt/apigee/customer/application/elasticsearch.properties in un editor. Se il file non esiste, crealo.
    2. Imposta la proprietà setenv_elasticsearch_max_mem_size su 6 g (il valore predefinito è 4 g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui il seguente comando:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch companion
  4. ?Eseguire l'onboarding di un'organizzazione come descritto di seguito in Operazioni preliminari per una nuova organizzazione.

La configurazione sul nodo è stata completata correttamente.

Installa l'API BaaS su 7 o 10 nodi

La procedura per l'installazione di una versione a 7 o 10 nodi dell'API BaaS è molto simile. L'unica differenza è che, per un:

  • Con l'installazione a 10 nodi, installerai i tre componenti ElasticSearch e i tre componenti API BaaS Stack su nodi separati, per un totale di sei nodi. Questa è la configurazione consigliata per ottenere le massime prestazioni, perché ElasticSearch richiede un'elevata quantità di I/O e memoria del disco.
  • su 7 nodi, installerai i tre componenti ElasticSearch e i tre componenti dello stack BaaS API sugli stessi nodi, per un totale di tre nodi.

Per entrambe le versioni a 7 e 10 nodi dell'API BaaS, devi connetterti a un cluster Cassandra. Se hai già installato Edge, puoi connetterti al relativo cluster Cassandra, il che significa che non è necessario installare Cassandra durante l'installazione dell'API BaaS.

Di seguito è riportato un esempio di file di configurazione invisibile all'utente per un'installazione BaaS con API a 10 nodi. Se stai installando i componenti ElasticSearch e API BaaS Stack sugli stessi tre nodi, modifica il file in modo che:

  • IP1 e IP4 sono impostati sullo stesso indirizzo IP
  • IP2 e IP5 sono impostati sullo stesso indirizzo IP
  • IP3 e IP6 sono impostati sullo stesso indirizzo IP

Modifica questo file come necessario per la tua configurazione. Per un riferimento completo sul file di configurazione, consulta la sezione Riferimento per il file di configurazione BaaS.

# 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=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# 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"

# Specify the Cassandra region.
REGION=dc-1

# 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.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=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

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# 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
SMTPMAILFROM="My Company <myco@company.com>"

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

Puoi connettere l'API BaaS allo stesso cluster Cassandra utilizzato da Edge. Se non hai installato Edge, puoi scegliere di installare Cassandra per l'utilizzo dall'API BaaS.

Il cluster Cassandra può utilizzare l'autenticazione oppure l'autenticazione Cassandra può essere disabilitata. Per saperne di più, consulta Attivare l'autenticazione Cassandra.

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando la procedura Internet o non internet. Per saperne di più, consulta Installare l'utilità Edge apigee-setup.
  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 dall'utente "apigee".

La configurazione completa correttamente la configurazione del datastore sul nodo.

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

Configura cron job di Cassandra

Se devi installare Cassandra, configura un cron job che utilizzi nodetool per eseguire lo svuotamento dei blocchi in modo che vengano eseguiti ogni ora su ogni nodo Cassandra.

Se disponi di più nodi Cassandra, applica un offset di cinque minuti per il cron job su ciascun server, in modo che i nodi non vengano eliminati contemporaneamente.

Il cron job deve eseguire il comando seguente:

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

dove IP_address è l'indirizzo IP del nodo Cassandra.

Installa ElasticSearch: macchine 1, 2 e 3

Per installare ElasticSearch sul proprio nodo:

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando la procedura internet o non internet. Per saperne di più, consulta Installare l'utilità Edge apigee-setup.
  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 dall'utente "apigee".
  3. (Facoltativo) Se installi ElasticSearch su un nodo autonomo, ovvero non è installato con l'API BaaS Stack, modifica l'opzione di memoria predefinita per aumentare la memoria allocata per ElasticSearch da 4 GB a 6 GB:
    1. Apri /opt/apigee/customer/application/elasticsearch.properties in un editor. Se il file non esiste, crealo.
    2. Imposta la proprietà setenv_elasticsearch_max_mem_size su 6 g (il valore predefinito è 4 g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui il seguente comando:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch companion

La configurazione sul nodo è stata completata correttamente.

Installa stack API BaaS: macchine 4, 5 e 6

Per installare lo stack BaaS dell'API sul proprio nodo:

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando la procedura internet o non internet. Per saperne di più, consulta Installare l'utilità Edge apigee-setup.
  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 dall'utente "apigee".

Dopo che il programma di installazione recupera le credenziali amministrative corrette, installa Tomcat, crea spazi delle chiavi API BaaS e configura lo stack BaaS dell'API sul server. SMTP è configurato anche per consentire all'interfaccia utente di inviare email di conferma della password.

Installa il portale API BaaS: Machine 7

Per installare il portale API BaaS:

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando la procedura internet o non internet. Per saperne di più, consulta Installare l'utilità Edge apigee-setup.
  2. Al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    L'opzione "-p p" specifica di installare il portale API BaaS.
    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".

    Il programma di installazione avvia il server web Nginx e poi completa la configurazione del portale API BaaS.
  3. Il passaggio successivo dipende dall'installazione.
    1. Se hai un bilanciatore del carico davanti ai nodi dello stack Portalor, la sezione successiva descrive come configurare l'API BaaS per i bilanciatori del carico.
    2. Se non disponi di un bilanciatore del carico davanti ai nodi di Portalor Stack, esegui l'onboarding di un'organizzazione come descritto di seguito in Operazioni preliminari di una nuova organizzazione.

Prendi nota dell'URL del portale API BaaS. Questo è l'URL che inserisci in un browser per accedere all'interfaccia utente del portale BaaS dell'API.

Configura nodi API BaaS per un bilanciatore del carico stack o portale

Se includi un bilanciatore del carico davanti ai nodi dello stack o del portale, devi configurare i nodi con l'URL corretto del bilanciatore del carico. Ad esempio, i nodi dello stack richiedono queste informazioni quando:

  • Inclusione di un URL nelle risposte delle richieste API BaaS.
  • Aggiunta di link nei modelli email quando si reimposta una password o si inviano altre notifiche.
  • Reindirizzamento degli utenti a pagine specifiche del portale.

Se utilizzi un bilanciatore del carico davanti ai nodi dello stack, imposta la seguente proprietà in /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

Sostituisci http://localhost:8080 con l'URL del bilanciatore del carico. Se il bilanciatore del carico è configurato per l'utilizzo di TLS, utilizza il protocollo HTTPS. Devi includere la porta solo se utilizzi una porta non standard, ovvero una porta diversa dalla porta 80 per HTTP e dalla porta 443 per HTTPS.

Inoltre, se utilizzi un bilanciatore del carico davanti ai nodi dello stack, devi impostare la seguente proprietà in /opt/apigee/customer/application/portal.properties :

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

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

Se utilizzi un bilanciatore del carico davanti al nodo Portal, imposta le seguenti proprietà in usergrid.properties:

usergrid-deployment_portal.url=http://localhost:9000

Sostituisci http://localhost:9000 con l'URL del bilanciatore del carico. Se il bilanciatore del carico è configurato per l'utilizzo di TLS, utilizza il protocollo HTTPS. Devi includere la porta solo se utilizzi una porta non standard, vale a dire diversa dalla porta 80 per HTTP e dalla porta 443 per HTTPS.

Dopo aver modificato usergrid.properties e portal.properties:

  1. Configura il nodo Stack:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. Riavvia lo stack BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid sostenuto

    Nota: quando riavvii i nodi dello stack BaaS, riavviali nello stesso ordine in cui sono elencati in BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS elenca al massimo due nodi dello stack. Dopo aver riavviato questi due nodi in ordine, puoi riavviare i nodi rimanenti in qualsiasi ordine.

  3. Se hai modificato portal.properties, configura il nodo Portal:?
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal configure
  4. Riavvia il portale BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal reboot

Onboarding di una nuova organizzazione

L'onboarding è il processo di creazione di un amministratore dell'organizzazione e dell'organizzazione. Dopo aver creato l'amministratore dell'organizzazione e dell'organizzazione, puoi accedere all'interfaccia utente del portale API BaaS ed effettuare 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. Ciò significa che non puoi creare due organizzazioni con lo stesso indirizzo email per l'amministratore dell'organizzazione. Tuttavia, dopo aver creato l'organizzazione, puoi aggiungere altri amministratori che possono essere duplicati in più organizzazioni.

Per eseguire l'onboarding, utilizza lo script Python create_org_and_user.py. Se richiami questo script senza argomenti della riga di comando, ti vengono chieste tutte le informazioni:

> python create_org_and_user.py

In alternativa, puoi passare una o tutte le opzioni come argomento della riga di comando. Vengono richieste le eventuali informazioni omesse 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 di sistema BaaS in modo che solo un amministratore di sistema possa eseguirli.
  3. Accedi al portale API BaaS in un browser web utilizzando l'URL indicato alla fine dell'installazione dell'URL del portale BaaS API. Per accedere al portale, inserisci l'URL del portale API BaaS nel formato:
    http://{portalExternalIP}:9000/

    Nota: l'IP è l'indirizzo IP esterno/nome host della macchina del portale. Assicurati che 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 nome utente e password 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 avere un singolo stack BaaS API. Oppure potresti avere un ambiente di piccole dimensioni con un singolo 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 API BaaS, consulta la documentazione di Apigee all'indirizzo: http://apigee.com/docs/content/build-apps-home.