Edge para la nube privada v. 4.17.01
Descripción general de instalación
Después de instalar la utilidad apigee-setup de Edge en un nodo, usa esa utilidad para instalar uno o más componentes de BaaS en el nodo.
La utilidad apigee-setup tiene la siguiente forma:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Pasa un archivo de configuración a la utilidad apigee-setup que contenga la información sobre la instalación. Si falta información obligatoria en el archivo de configuración, la utilidad apigee-setup te pedirá que la ingreses en la línea de comandos.
El único requisito es que el usuario de “apigee” debe poder acceder o leer el archivo de configuración.
Por ejemplo, usa el siguiente comando para instalar la pila de BaaS de la API:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
Cómo especificar los componentes que se instalarán
La utilidad setup.sh de Apigee admite varias opciones para instalar componentes de BaaS de API. En las siguientes instrucciones, se usan las opciones independientes (c, e, b y p), pero puedes usar diferentes opciones según la configuración de tu nodo:
Opción |
Descripción |
---|---|
e |
Instala solo ElasticSearch. |
b |
Instala solo la pila de BaaS de la API, que también instala Tomcat. |
p |
Instala solo el portal de BaaS de la API, que también instala el router Nginx para usarlo como servidor web. |
c |
Instala solo Cassandra. |
eb |
Instala ElasticSearch, API BaaS Stack y Tomcat en el nodo. |
ebp |
Instala ElasticSearch, el portal de API BaaS, la pila de API BaaS y Tomcat, pero no Cassandra. El portal es muy ligero, por lo que no se necesitan recursos adicionales para esto. |
Asa |
Instala todos los componentes de la BaaS de la API en un solo nodo (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat). Usa esta opción solo para el desarrollo y las pruebas, no para la producción. |
Crea un archivo de configuración
El archivo de configuración contiene toda la información necesaria para instalar la BaaS de API. A menudo, puedes usar el mismo archivo de configuración para instalar todos los componentes en una instalación de BaaS.
En cada topología de instalación que se describe a continuación, se muestra un archivo de configuración de ejemplo para esa topología. Para obtener una referencia completa del archivo de configuración, consulta la Referencia del archivo de configuración de BaaS.
Instala la BaaS de API en un solo nodo
A continuación, se muestra el archivo de configuración para instalar la BaaS de la API en un solo nodo. Edita este archivo según sea necesario para tu configuración. Para obtener una referencia completa del archivo de configuración, consulta la Referencia del archivo de configuración de 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
Para instalar la API de BaaS en su propio nodo, sigue estos pasos:
- Instala la utilidad apigee-setup de Edge en el nodo con el procedimiento con o sin Internet. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
- En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
La opción “-p asa” especifica que se deben instalar todos los componentes de la API de BaaS en un solo nodo (Cassandra, Elasticsearch, API BaaS Stack y Tomcat BaaS).
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo. - Como instalaste ElasticSearch en un nodo independiente, ajusta la opción de memoria predeterminada para aumentar la memoria asignada para ElasticSearch de 4 GB a 6 GB:
- Abre /opt/apigee/customer/application/elasticsearch.properties en un editor. Si este archivo no existe, créalo.
- Establece la propiedad setenv_elasticsearch_max_mem_size en 6g (el valor predeterminado es 4g):
setenv_elasticsearch_max_mem_size=6g - Guarda el archivo.
- Ejecuta el siguiente comando:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- Integra una organización como se describe a continuación en Cómo integrar una organización nueva.
La configuración se completa correctamente en el nodo.
Instala la BaaS de API en 7 o 10 nodos
El procedimiento para instalar una versión de 7 o 10 nodos de la BaaS de API es muy similar. La única diferencia es que, para un:
- En la instalación de 10 nodos, instalas los tres componentes de ElasticSearch y los tres componentes de la pila de BaaS de la API en nodos separados, para un total de seis nodos. Esta es la configuración recomendada para obtener el mayor rendimiento, ya que ElasticSearch requiere una gran cantidad de E/S de disco y memoria.
- En la instalación de 7 nodos, instalas los tres componentes de ElasticSearch y los tres componentes de la pila de BaaS de la API en los mismos nodos, para un total de tres nodos.
Para las versiones de 7 y 10 nodos de la BaaS de la API, debes conectarte a un clúster de Cassandra. Si ya instalaste Edge, puedes conectarte a su clúster de Cassandra, lo que significa que no tienes que instalar Cassandra como parte de la instalación de los BaaS de API.
A continuación, se muestra un ejemplo de un archivo de configuración silencioso para una instalación del BaaS de la API de 10 nodos. Si instalas los componentes de ElasticSearch y la pila BaaS de la API en los mismos tres nodos, edita el archivo para que ocurra lo siguiente:
- IP1 y IP4 están configurados en la misma dirección IP
- IP2 e IP5 están configuradas en la misma dirección IP.
- IP3 y IP6 se configuran en la misma dirección IP.
Edita este archivo según sea necesario para tu configuración. Para obtener una referencia completa sobre el archivo de configuración, consulta la Referencia del archivo de configuración de 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
Opcional: Instala Cassandra: Máquinas 8, 9 y 10
Puedes conectar la API de BaaS al mismo clúster de Cassandra que usa Edge. Si no instalaste Edge, puedes instalar Cassandra de forma opcional para que la use la API de BaaS.
El clúster de Cassandra puede usar la autenticación, o bien se puede inhabilitar. Consulta Habilita la autenticación de Cassandra para obtener más información.
- Instala la utilidad apigee-setup de Edge en el nodo con el procedimiento con o sin Internet. Consulta Instala la utilidad de Apigee-setup de Edge para obtener más información.
- En la línea de comandos, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
La opción “-p c” especifica que se debe instalar Cassandra.
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.
La configuración completa correctamente la configuración del almacén de datos en el nodo.
Ten en cuenta que JMX está habilitado de forma predeterminada para Cassandra. El acceso remoto de JMX a Cassandra no requiere una contraseña. Puedes configurar Cassandra para que use la autenticación para JMX. Para obtener más información, consulta Cómo supervisar.
Configura la tarea cron de Cassandra
Si tienes que instalar Cassandra, configura un trabajo cron que use nodetool para vaciar los bloqueos cada hora en cada nodo de Cassandra.
Si tienes varios nodos de Cassandra, compensa el trabajo cron en cada servidor cinco minutos para que no se vacíen todos los nodos al mismo tiempo.
La tarea de cron debe ejecutar el siguiente comando:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
donde IP_address es la dirección IP del nodo de Cassandra.
Instala ElasticSearch: Máquinas 1, 2 y 3
Para instalar ElasticSearch en su propio nodo, sigue estos pasos:
- Instala la utilidad apigee-setup de Edge en el nodo con el procedimiento con o sin Internet. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
- En la línea de comandos, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
La opción “-p e” especifica que se debe instalar ElasticSearch.
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo. - (Opcional) Si instalas ElasticSearch en un nodo independiente, lo que significa que no está instalado
con una pila de BaaS de API, ajusta la opción de memoria predeterminada para aumentar la memoria asignada a
ElasticSearch de 4 GB a 6 GB:
- Abre /opt/apigee/customer/application/elasticsearch.properties en un editor. Si este archivo no existe, créalo.
- Establece la propiedad setenv_elasticsearch_max_mem_size en 6g (el valor predeterminado es 4g):
setenv_elasticsearch_max_mem_size=6g - Guarda el archivo.
- Ejecuta el siguiente comando:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
La configuración se completa correctamente en el nodo.
Instala la pila de BaaS de la API: Máquinas 4, 5 y 6
Para instalar la pila de BaaS de la API en su propio nodo, haz lo siguiente:
- Instala la utilidad apigee-setup de Edge en el nodo con el procedimiento con o sin Internet. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
- En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
La opción “-p b” especifica que se debe instalar la pila de BaaS de API.
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.
Después de que el instalador recupera las credenciales de administrador correctas, instala Tomcat, crea espacios de claves de la API de BaaS y configura la pila de BaaS de la API en el servidor. SMTP también se configura para permitir que la IU envíe correos electrónicos de confirmación de contraseña.
Instala el portal de BaaS de la API: Machine 7
Para instalar el portal de BaaS de la API, sigue estos pasos:
- Instala la utilidad de Apigee-setup de Edge en el nodo mediante el procedimiento de Internet o sin Internet. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
- En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
La opción “-p p” especifica que se instale el portal BaaS de la API.
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.
El instalador inicia el servidor web Nginx y, luego, finaliza la configuración del portal de BaaS de la API. - El siguiente paso depende de tu instalación.
- Si tienes un balanceador de cargas frente a los nodos de Portalor Stack, en la siguiente sección se describe cómo configurar la BaaS de API para los balanceadores de cargas.
- Si no tienes un balanceador de cargas frente a los nodos de Portalor Stack, integra una organización como se describe a continuación en Cómo integrar una organización nueva.
Anota la URL del portal de BaaS de la API. Esta es la URL que ingresas en un navegador para acceder a la interfaz de usuario del portal de BaaS de la API.
Configura nodos de BaaS de la API para un balanceador de cargas de Stack o Portal
Si incluyes un balanceador de cargas frente a los nodos de la pila o del portal, debes configurar los nodos con la URL correcta del balanceador de cargas. Por ejemplo, los nodos de pila requieren esta información en los siguientes casos:
- Incluir una URL en las respuestas de las solicitudes a la API de BaaS
- Agregar vínculos en plantillas de correo electrónico cuando se restablece una contraseña o se envían otras notificaciones
- Redirecciona a los usuarios a páginas específicas del portal.
Si usas un balanceador de cargas frente a los nodos de Stack, establece la siguiente propiedad en /opt/apigee/customer/application/usergrid.properties:
usergrid-deployment_usergrid.api.url.base=http://localhost:8080
Reemplaza http://localhost:8080 por la URL del balanceador de cargas. Si el balanceador de cargas está configurado para usar TLS, usa el protocolo HTTPS. Solo debes incluir el puerto si usas uno no estándar, es decir, distinto del puerto 80 para HTTP y el puerto 443 para HTTPS.
También debes configurar la siguiente propiedad en /opt/apigee/customer/application/portal.properties si usas un balanceador de cargas frente a los nodos de Stack:
baas.portal.config.overrideUrl=http://localhost:8080
Reemplaza http://localhost:8080 por la URL del equilibrador de cargas de la pila.
Si usas un balanceador de cargas frente al nodo del portal, configura las siguientes propiedades en usergrid.properties:
usergrid-deployment_portal.url=http://localhost:9000
Reemplaza http://localhost:9000 por la URL del balanceador de cargas. Si el balanceador de cargas está configurado para usar TLS, usa el protocolo HTTPS. Solo debes incluir el puerto si usas uno no estándar, es decir, distinto del puerto 80 para HTTP y el puerto 443 para HTTPS.
Después de editar usergrid.properties y portal.properties, haz lo siguiente:
- Configura el nodo de pila:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - Reinicia la pila de BaaS:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
Nota: Cuando reinicies los nodos de la pila de BaaS, reinícialos en el mismo orden en que aparecen en BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS muestra como máximo dos de los nodos de pila. Después de reiniciar esos dos nodos en orden, puedes reiniciar los nodos restantes en cualquier orden.
- Si modificaste portal.properties, configura el nodo del portal:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - Reinicia el portal de BaaS:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart
Incorporación de una organización nueva
La integración es el proceso de crear una organización y un administrador de la organización. Después de crear la organización y el administrador de la organización, puedes acceder a la IU del Portal de API BaaS y realizar solicitudes a la API de REST de API BaaS.
Cuando creas una organización, la dirección de correo electrónico del administrador de la organización:
- Debe ser diferente de la dirección de correo electrónico del administrador del sistema.
- Debe ser único entre todas las demás organizaciones. Es decir, no puedes crear dos organizaciones con la misma dirección de correo electrónico para el administrador de la organización. Sin embargo, después de crear la organización, puedes agregar administradores adicionales que se pueden duplicar en varias organizaciones.
Para realizar la integración, usa la secuencia de comandos de Python create_org_and_user.py. Si invocas esta secuencia de comandos sin argumentos de línea de comandos, se te solicitará toda la información:
> python create_org_and_user.py
Como alternativa, puedes pasar una o todas las opciones como argumento de línea de comandos. Se te solicitará información que omitas de la línea de comandos:
> 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>'
Para crear una organización, sigue estos pasos:
- Cambia el directorio a /opt/apigee/baas-usergrid/bin.
- Invoca la secuencia de comandos de Python create_org_and_user.py.
Se te solicita el nombre de usuario y la contraseña del administrador del sistema de BaaS para que solo un administrador del sistema pueda ejecutarlo. - Accede al portal de BaaS de la API en un navegador web con la URL que anotaste al final de la instalación de la URL del portal de BaaS de la API. Para acceder al portal, ingresa la URL del portal de BaaS de la API en el siguiente formato:
http://{portalExternalIP}:9000/
Nota: La IP es la dirección IP externa o el nombre de host de la máquina del portal. Asegúrate de que el puerto esté abierto. - Cuando aparezca la pantalla de acceso del portal, puedes hacer lo siguiente:
- Accede con el nombre de usuario y la contraseña del administrador de la organización.
- Accede con el nombre de usuario y la contraseña del administrador del sistema.
Accede a la API de REST de BaaS de la API
Para acceder a la API de REST de BaaS de API, usa una URL con el siguiente formato:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
En un entorno de desarrollo, puedes instalar todos los componentes de BaaS de la API en un solo nodo, lo que significa que tienes una sola pila de BaaS de la API. O bien, puedes tener un entorno pequeño con un solo nodo de la pila de BaaS de la API y sin balanceador de cargas. En estos tipos de entornos, puedes realizar llamadas a la API directamente al nodo de la pila de BaaS de la API:
curl -v "http://portalExternalIP:8080/status"
Para obtener más información sobre cómo comenzar a usar el portal de BaaS de APIs, consulta la documentación de Apigee en http://apigee.com/docs/content/build-apps-home.