Installazione dell'API BaaS

Edge for Private Cloud versione 4.17.01

Panoramica dell'installazione

Dopo aver installato l'utilità Edge apigee-setup su un nodo, utilizza questa utilità 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 le informazioni sull'installazione. Se nel file di configurazione mancano informazioni richieste, l'utilità apigee-setup ti chiede di inserirla nella riga di comando.

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

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

Specificare i componenti da installare

L'utilità setup.sh di Apigee supporta diverse opzioni per l'installazione dei componenti dell'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 tuo nodo:

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 server web.

c

Installa solo Cassandra.

eb

Installa ElasticSearch, API BaaS Stack e Tomcat sul nodo.

ebp

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

asa

Installa tutti i componenti dell'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 installare l'API BaaS. Spesso puoi utilizzare lo stesso file di configurazione per installare tutti i componenti in un'installazione BaaS.

Per ogni topologia di installazione descritta di seguito viene mostrato un file di configurazione di esempio per la topologia in questione. Per un riferimento completo sul file di configurazione, consulta la pagina File di configurazione BaaS.

Installa API BaaS su un singolo nodo

Di seguito è riportato il file di configurazione per l'installazione dell'API BaaS su un singolo nodo. Modifica questo file come necessario per la tua configurazione. Per una documentazione completa sul file di configurazione, consulta Documentazione di riferimento del 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

Per installare l'API BaaS su un proprio nodo:

  1. Installa l'utilità apigee-setup di Edge sul nodo utilizzando la procedura su internet o non su internet. Per saperne di più, consulta Installare l'utilità apigee-setup di Edge.
  2. Alla riga di comando, 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 BaaS Portal, Tomcat).
    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 6g (il valore predefinito è 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui il comando seguente:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch reboot
  4. Esegui l'onboarding di un'organizzazione come descritto di seguito in Eseguire l'onboarding di una nuova organizzazione.

La configurazione completa la configurazione sul nodo.

Installa API BaaS su 7 o 10 nodi

La procedura per installare una versione con 7 o 10 nodi dell'API BaaS è molto simile. L'unica differenza è che per:

  • con 10 nodi, puoi installare 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 su disco.
  • con 7 nodi, installerai i tre componenti ElasticSearch e i tre componenti API BaaS Stack sugli stessi nodi, per un totale di tre nodi.

Per le versioni con 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 devi installare Cassandra durante l'installazione dell'API BaaS.

Di seguito è riportato un esempio di file di configurazione silenzioso per un'installazione API BaaS di 10 nodi. Se installi 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 in base alle tue esigenze. Per una documentazione completa sul file di configurazione, consulta la documentazione di riferimento del 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

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

Puoi collegare l'API BaaS allo stesso cluster Cassandra utilizzato da Edge. Se non hai installato Edge, puoi installare Cassandra per l'utilizzo da parte dell'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à apigee-setup di Edge.
  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 data store 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 saperne di più, consulta Come monitorare.

Configurare il cron job di Cassandra

Se devi installare Cassandra, configura un job cron che utilizzi nodetool per svuotare i dati relativi ai blocchi ogni ora su ogni nodo Cassandra.

Se hai più nodi Cassandra, compensa il job cron su ogni server di cinque minuti in modo che tutti i nodi non vengano svuotati contemporaneamente.

Il job cron deve eseguire il seguente 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: Macchina 1, 2 e 3

Per installare ElasticSearch su un proprio nodo:

  1. Installa l'utilità apigee-setup di Edge sul nodo utilizzando la procedura su internet o non su internet. Per saperne di più, consulta Installare l'utilità apigee-setup di Edge.
  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 lo stack API BaaS, 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 questo file non esiste, creane uno.
    2. Imposta la proprietà setenv_elasticsearch_max_mem_size su 6g (il valore predefinito è 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui il seguente comando:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

La configurazione completa la configurazione sul nodo.

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

Per installare lo stack API BaaS su un proprio nodo:

  1. Installa l'utilità apigee-setup di Edge sul nodo utilizzando la procedura su internet o non su internet. Per saperne di più, consulta Installare l'utilità apigee-setup di Edge.
  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 API BaaS Stack.
    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".

Dopo aver recuperato le credenziali di amministratore corrette, installa Tomcat, crea gli spazi delle chiavi BaaS dell'API 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: Macchina 7

Per installare il portale API BaaS:

  1. Installa l'utilità apigee-setup Edge sul nodo utilizzando la procedura internet o non internet. Per saperne di più, consulta Installare l'utilità apigee-setup di Edge.
  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 completa la configurazione del portale API BaaS.
  3. Il passaggio successivo dipende dall'installazione.
    1. Se hai un bilanciatore del carico davanti ai nodi Portal o Stack, la sezione successiva descrive come configurare l'API BaaS per i bilanciatori del carico.
    2. Se non hai un bilanciatore del carico davanti ai nodi del portale o dello stack, esegui l'onboarding di un'organizzazione come descritto di seguito in Eseguire l'onboarding di una nuova organizzazione.

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

Configura i nodi BaaS dell'API per uno stack o un bilanciatore del carico del 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 di stack richiedono queste informazioni quando:

  • Inclusione di un URL nelle risposte alle richieste dell'API BaaS.
  • Aggiunta di link nei modelli email quando viene reimpostata una password o vengono inviate 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 utilizzare TLS, utilizza il protocollo HTTPS. Devi includere la porta solo se utilizzi una porta non standard, ovvero diversa dalla porta 80 per HTTP e dalla porta 443 per HTTPS.

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

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 del portale, 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, ovvero diversa dalla porta 80 per HTTP e dalla porta 443 per HTTPS.

Dopo aver modificato usergrid.properties e portal.properties:

  1. Configura il nodo dello 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 restart

    Nota:quando riavvii i nodi BaaS Stack, riavviali nello stesso ordine in cui sono elencati in BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS elenca al massimo due dei nodi dello stack. Dopo aver riavviato i 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 restart

Onboarding di una nuova organizzazione

L'onboarding è la procedura di creazione di un'organizzazione e di un amministratore dell'organizzazione. Dopo aver creato l'organizzazione e l'amministratore dell'organizzazione, puoi accedere all'interfaccia utente del portale API BaaS ed effettuare richieste all'API REST API BaaS.

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. In altre parole, 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 lo script viene invocato senza argomenti a riga di comando, ti verrà chiesto di fornire tutte le informazioni:

> python create_org_and_user.py

In alternativa, puoi passare una o tutte le opzioni come argomento della riga di comando. Ti viene chiesto di inserire tutte le 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 viene chiesto il nome utente e la password dell'amministratore di sistema BaaS in modo che solo un amministratore di sistema possa eseguirlo.
  3. Accedi al portale API BaaS in un browser web utilizzando l'URL che hai annotato alla fine dell'installazione dell'URL del portale API BaaS. Per accedere al portale, inserisci l'URL del portale BaaS API nel formato:
    http://{portalExternalIP}:9000/

    Nota: l'IP è l'indirizzo IP esterno/il 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 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, utilizza un URL nel seguente 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 singolo API BaaS Stack. In alternativa, potresti avere un piccolo ambiente con un singolo node API BaaS Stack e nessun bilanciatore del carico. In questi tipi di ambienti, puoi effettuare chiamate API direttamente al nodo dello stack BaaS API:

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

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