Edge for Private Cloud v. 4.17.09
Panoramica dell'installazione
Dopo aver installato l'utilità Edge apigee-setup su un nodo, utilizzala per installare uno o più componenti BaaS sul nodo.
L'utilità apigee-setup ha la seguente forma:
sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Passa all'utilità apigee-setup un file di configurazione contenente le informazioni sull'installazione. Se nel file di configurazione mancano informazioni obbligatorie, l'utilità apigee-setup ti chiede di inserirle nella riga di comando.
L'unico requisito è che il file di configurazione deve 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
Specifica dei componenti da installare
L'utilità Apigee setup.sh 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 lo stack API BaaS, 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, lo stack API BaaS e Tomcat sul nodo. |
|
ebp |
Installa Elasticsearch, il portale API BaaS, lo stack API BaaS 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 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 API BaaS. Spesso puoi utilizzare lo stesso file di configurazione per installare tutti i componenti in 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 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 in base alle tue esigenze di configurazione. Per un riferimento completo sul file di configurazione, consulta il 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:
- Installa l'utilità Edge
apigee-setupsul nodo utilizzando la procedura con o senza internet. Per saperne di più, consulta Installa l'utilità apigee-setup di Edge. - 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, stack API BaaS, portale API BaaS, Tomcat).
Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".
- Poiché hai installato ElasticSearch su un nodo autonomo, regola l'opzione di memoria predefinita per aumentare l'allocazione della memoria per ElasticSearch da 4 GB a 6 GB:
- Apri
/opt/apigee/customer/application/elasticsearch.propertiesin un editor. Se questo file non esiste, crealo. - Imposta la proprietà
setenv_elasticsearch_max_mem_sizesu 6g (il valore predefinito è 4g):
setenv_elasticsearch_max_mem_size=6g
- Salva il file.
- Esegui questo comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- Apri
- Esegui l'onboarding di un'organizzazione come descritto di seguito in Onboarding di una nuova organizzazione.
La configurazione completa correttamente la configurazione sul nodo.
Installa API BaaS su 7 o 10 nodi
La procedura per l'installazione di una versione di API BaaS a 7 o 10 nodi è molto simile. L'unica differenza è che per:
- In un'installazione a 10 nodi, installi i tre componenti Elasticsearch e i tre componenti dello stack API BaaS su nodi separati, per un totale di sei nodi. Questa è la configurazione consigliata per ottenere le massime prestazioni, poiché ElasticSearch richiede una quantità elevata di I/O su disco e memoria.
- 7 nodi, installi i tre componenti Elasticsearch e i tre componenti dello stack API BaaS sugli stessi nodi, per un totale di tre nodi.
Sia per la versione a 7 nodi che per quella a 10 nodi di 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 nell'ambito dell'installazione di API BaaS.
Di seguito è riportato un esempio di file di configurazione silenziosa per un'installazione di API BaaS a 10 nodi. Se stai installando i componenti dello stack ElasticSearch e API BaaS 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 di configurazione. Per un riferimento completo sul file di configurazione, consulta Riferimento al 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 facoltativamente installare Cassandra per l'utilizzo da parte di API BaaS.
Il cluster Cassandra può utilizzare l'autenticazione oppure l'autenticazione Cassandra può essere disabilitata. Per saperne di più, consulta Attiva l'autenticazione Cassandra.
- Installa l'utilità Edge
apigee-setupsul nodo utilizzando la procedura con o senza internet. Per saperne di più, consulta Installa l'utilità apigee-setup di Edge. - 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 saperne di più, consulta Come monitorare.
Configura il cron job di Cassandra
Se devi installare Cassandra, configura un cron job che utilizzi nodetool per eseguire lo svuotamento dei blocchi ogni ora su ogni nodo Cassandra.
Se hai più nodi Cassandra, compensa il cron job su ogni server di cinque minuti in modo che non tutti i nodi eseguano lo svuotamento contemporaneamente.
Il cron job 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: Macchine 1, 2 e 3
Per installare ElasticSearch sul proprio nodo:
- Installa l'utilità apigee-setup di Edge sul nodo utilizzando la procedura con o senza connessione a internet. Per saperne di più, consulta Installa l'utilità apigee-setup di Edge.
- Al prompt dei comandi, esegui lo script di configurazione:
/opt/apigee/apigee-setup/bin/setup.sh -p e -f configFileThe "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.
- (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:
- Open
/opt/apigee/customer/application/elasticsearch.propertiesin an editor. If this file does not exist, create it. - Set the
setenv_elasticsearch_max_mem_sizeproperty to 6g (the default is 4g):setenv_elasticsearch_max_mem_size=6g
- Salva il file.
- Esegui questo comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
La configurazione completa correttamente la configurazione sul nodo.
Installa lo stack API BaaS: Macchine 4, 5 e 6
Per installare lo stack API BaaS sul proprio nodo:
- Installa l'utilità apigee-setup di Edge sul nodo utilizzando la procedura con o senza connessione a internet. Per saperne di più, consulta Installa l'utilità apigee-setup di Edge.
- 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 API BaaS. Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".
Dopo che il programma di installazione ha recuperato le credenziali di amministratore corrette, installa Tomcat, crea gli spazi delle chiavi API BaaS e configura lo stack API BaaS sul server. SMTP è configurato anche per consentire alla UI di inviare email di conferma della password.
Installa il portale API BaaS: macchina 7
Per installare il portale API BaaS:
- Installa l'utilità apigee-setup di Edge sul nodo utilizzando la procedura con o senza connessione a internet. Per saperne di più, consulta Installa l'utilità apigee-setup di Edge.
- 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.
- Il passaggio successivo dipende dall'installazione.
- Se hai un bilanciatore del carico davanti ai nodi Portal o Stack, la sezione successiva descrive come configurare API BaaS per i bilanciatori del carico.
- Se non hai un bilanciatore del carico davanti ai nodi Portal o Stack, esegui l'onboarding di un'organizzazione come descritto di seguito in Onboarding 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 API BaaS.
Configura i nodi API BaaS per un bilanciatore del carico Stack o Portal
Se includi un bilanciatore del carico davanti ai nodi Stack o Portal, devi configurare i nodi con l'URL corretto del bilanciatore del carico. Ad esempio, i nodi Stack richiedono queste informazioni quando:
- Includere un URL nelle risposte alle richieste API BaaS.
- Aggiunta di link nei modelli di email durante la reimpostazione di una password o l'invio di altre notifiche.
- Reindirizzamento degli utenti a pagine specifiche del portale.
Se utilizzi un bilanciatore del carico davanti ai nodi 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.
Se utilizzi un bilanciatore del carico davanti ai nodi Stack, devi anche 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 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 una porta diversa dalla porta 80 per HTTP e dalla porta 443 per HTTPS.
Dopo aver modificato
usergrid.propertieseportal.properties:- Configura il nodo Stack:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
- Riavvia lo stack BaaS:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- Se hai modificato
portal.properties, configura il nodo Portal:/opt/apigee/apigee-service/bin/apigee-service baas-portal configure
- 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 aver creato l'organizzazione e l'amministratore dell'organizzazione, puoi accedere alla UI 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 richiami questo script senza argomenti della riga di comando, ti verranno richieste 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 verranno richieste 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:
- Cambia la directory in
/opt/apigee/baas-usergrid/bin. - Richiama lo script Python
create_org_and_user.py.Ti verranno richiesti il nome utente e la password dell'amministratore di sistema BaaS, in modo che solo un amministratore di sistema possa eseguirlo.
- Accedi al portale API BaaS in un browser web utilizzando l'URL annotato alla fine dell'installazione dell'URL del portale API BaaS. Per accedere al portale, inserisci l'URL del portale API BaaS nel modulo:
http://portalExternalIP:9000/
- 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 di sistema.
Accesso all'API REST di API BaaS
Per accedere all'API REST di API BaaS, 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 singolo stack API BaaS. In alternativa, potresti avere un ambiente di piccole dimensioni con un singolo nodo dello stack API BaaS e nessun bilanciatore del carico. In questi tipi di ambienti, puoi effettuare chiamate API direttamente al nodo dello stack API BaaS:
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.
- Open