Installazione dell'API BaaS

Edge per Private Cloud v. 4.17.09

Panoramica dell'installazione

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

L'utilità apigee-setup ha il modulo:

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

Passa un file di configurazione all'utilità apigee-setup contenente informazioni sull'installazione. Se nel file di configurazione mancano alcuni dati obbligatori informazioni, il 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, 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

Utility Apigee setup.sh 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, ma non Cassandra. Il portale è così 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 sviluppo e test, non per la produzione.

Creazione di un file di configurazione

Il file di configurazione contiene tutte le informazioni necessarie per installare API BaaS. Puoi spesso usano 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 Per informazioni complete sul file di configurazione, consulta la pagina Riferimento al file di configurazione BaaS.

Installa API BaaS su un singolo nodo

Di seguito è riportato il file di configurazione per l'installazione di API BaaS su un singolo nodo. Modifica questo file come necessari per la configurazione. Per un riferimento completo sul file di configurazione, consulta Riferimento al 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 API BaaS sul proprio nodo:

  1. Installa l'utilità Edge apigee-setup sul nodo utilizzando procedura internet o meno. Consulta Installa 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 asa -f configFile

    "-p asa" specifica di installare tutti i componenti API BaaS su un singolo nodo (Cassandra, Elasticsearch, stack BaaS API, portale API BaaS, Tomcat).

    Il file di configurazione deve essere accessibile o leggibile da "apigee" utente.

  3. Poiché hai installato ElasticSearch su un nodo autonomo, regola la memoria predefinita per aumentare la memoria allocata per 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 la proprietà setenv_elasticsearch_max_mem_size a 6 g (il valore predefinito è 4 g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui questo comando:
      /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
  4. Fai l'onboarding di un'organizzazione come descritto di seguito in Operazioni preliminari per una nuova organizzazione.

La configurazione completa la configurazione sul nodo.

Installa API BaaS su 7 o 10 nodi

La procedura per installare una versione a 7 o 10 nodi di API BaaS è molto simile. L'unico è che per:

  • con 10 nodi, l'utente installa i tre componenti ElasticSearch e le tre API Componenti di BaaS Stack su nodi separati, per un totale di sei nodi. Questo è il consigliata per ottenere prestazioni elevate poiché ElasticSearch richiede una quantità elevata di I/O e memoria del disco.
  • con 7 nodi, l'utente installerà i tre componenti ElasticSearch e le tre API BaaS Impila i componenti sugli stessi nodi, per un totale di tre nodi.

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

Di seguito è riportato un esempio di file di configurazione invisibile per un'installazione BaaS dell'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 in base alle tue esigenze. Per un riferimento completo del file di configurazione, consulta BaaS Riferimento file di configurazione.

# 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: macchina 8, 9 e 10

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

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

    "-p c" specifica di installare Cassandra.

    Il file di configurazione deve essere accessibile o leggibile da "apigee" utente.

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

Se devi installare 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: Macchina 1, 2 e 3

Per installare ElasticSearch sul proprio nodo:

  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
          

    The "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.

  3. (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed with API BaaS Stack, then adjust the default memory option to increase the memory allocated for ElasticSearch from 4GB to 6GB:
    1. Open /opt/apigee/customer/application/elasticsearch.properties in an editor. If this file does not exist, create it.
    2. Set the setenv_elasticsearch_max_mem_size property to 6g (the default is 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Salva il file.
    4. Esegui questo comando:
      /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

    La configurazione completa la configurazione sul nodo.

    Installa lo stack BaaS dell'API: Macchina 4, 5 e 6

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

    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

      "-p b" specifica di installare lo stack BaaS dell'API. Il file di configurazione deve essere accessibile o leggibile dall'"apigee" utente.

    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 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/apigee-setup/bin/setup.sh -p p -f configFile

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

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

    3. Il passaggio successivo dipende dall'installazione.
      1. Se hai un bilanciatore del carico davanti ai nodi Portalor Stack, nella prossima sezione 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 un'organizzazione come descritto di seguito in Operazioni preliminari una nuova organizzazione.

    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.

    Configura Nodi API BaaS per un bilanciatore del carico Stack o Portal

    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 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 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à tra usergrid.properties:

    usergrid-deployment_portal.url=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:
      /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
    3. Se hai modificato portal.properties, configura il nodo del portale:
      /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 è 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 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/
    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.