Descripción general de la instalación de Edge

Edge para la nube privada v. 4.16.09

Una instalación de Edge típica consta de componentes de Edge distribuidos en varios nodos. Después de instalar Edge en un nodo, debes instalar y configurar uno o más componentes de Edge en el nodo.

Proceso de instalación

La instalación de Edge en un nodo es un proceso de varios pasos:

  • Inhabilita SELinux en el nodo o configúralo en modo permisivo. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
  • Selecciona tu configuración de Edge de la lista de topologías recomendadas. Por ejemplo, puedes instalar Edge en un solo nodo para las pruebas o en 13 nodos para la producción. Consulta Topologías de instalación para obtener más información.
  • En cada nodo de la topología seleccionada, instala la utilidad apigee-setup de Edge:
    • Descarga el archivo bootstrap_4.16.09.sh de Edge a bootstrap_4.16.09.sh.
    • Instala la utilidad apigee-service y las dependencias de Edge.
    • Instala la utilidad apigee-setup de Edge y las dependencias.

      Consulta Instala la utilidad apigee-setup de Edge para obtener más información.
  • Usa la utilidad apigee-setup para instalar uno o más componentes de Edge en cada nodo según la topología seleccionada.
    Consulta Instala componentes de Edge en un nodo en un nodo.
  • En el nodo del servidor de administración, usa la utilidad apigee-setup para instalar apigee-provision, las utilidades que usas para crear y administrar organizaciones de Edge.
    Consulta Cómo integrar una organización para obtener más información.

Cómo manejar una falla de instalación

En el caso de una falla durante la instalación de un componente de Edge, puedes intentar corregir el problema y, luego, volver a ejecutar el instalador. El instalador está diseñado para ejecutarse repetidamente en casos en los que detecta una falla o si más adelante quieres cambiar o actualizar un componente después de la instalación.

Configura la replicación de instancia principal en espera de Postgres

De forma predeterminada, Edge instala todos los nodos de Postgres en el modo principal. Sin embargo, en los sistemas de producción con varios nodos de Postgres, se los configura para usar la replicación de instancia principal en espera, de modo que, si el nodo principal falla, el nodo en espera pueda continuar con la entrega de tráfico. Consulta Configura la replicación de la instancia principal en espera para Postgres a fin de obtener más información.

Quién puede realizar la instalación

Los archivos de distribución de Apigee Edge se instalan como un conjunto de RPM y dependencias. Para instalar, desinstalar y actualizar Edge, un usuario raíz o un usuario con acceso sudo completo deben ejecutar los comandos de Edge. Para el acceso sudo completo, significa que el usuario tiene acceso sudo para realizar las mismas operaciones que el usuario raíz.

Cualquier usuario que desee ejecutar los siguientes comandos o secuencias de comandos debe tener permisos de administrador o ser un usuario con acceso sudo completo:

  • Utilidad apigee-service:
    • Comandos de apigee-service: install, desinstalar, update
    • Comandos de apigee-all: install, desinstalar, update
  • setup.sh a fin de instalar componentes de Edge (a menos que ya hayas usado “apigee-service install” para instalar los RPM necesarios. Luego, si no es necesario, se obtiene acceso sudo completo o raíz.
  • Secuencia de comandos update.sh para actualizar los componentes de Edge

Además, el instalador de Edge crea un usuario nuevo en tu sistema, llamado “apigee”. Muchos comandos de Edge invocan sudo para que se ejecute como el usuario de “apigee”.

Cualquier usuario que desee ejecutar todos los comandos distintos de los que se muestran arriba debe ser un usuario con acceso sudo completo al usuario de “apigee”. Entre estos comandos, se incluyen los siguientes:

  • Comandos de utilidad de apigee-service, incluidos los siguientes:
    • Comandos de apigee-service, como start, stop, reiniciar, configurar
    • Comandos de apigee-all, como start, stop, reiniciar, configurar

Si quieres configurar un usuario para que tenga acceso sudo completo al usuario de “Apigee”, edita el archivo sudoers para agregar lo siguiente:

installUser        ALL=(apigee)      NOPASSWD: ALL

En el ejemplo anterior, installUser es el nombre de usuario de la persona que trabaja con Edge.

El usuario de “apigee” debe poder acceder a cualquier archivo o recurso que usen los comandos de Edge. Esto incluye el archivo de licencia de Edge y cualquier archivo de configuración.

Cuando creas un archivo de configuración, puedes cambiar su propietario a “apigee:apigee” para garantizar que los comandos de Edge puedan acceder a él:

  1. Crea el archivo en un editor como cualquier usuario.
  2. Elige el propietario del archivo a “apigee:apigee” o, si cambiaste el usuario que ejecuta el servicio de Edge del usuario de “apigee”, cambia el nombre del archivo al usuario que ejecuta el servicio de Edge.

Ubicación de los archivos de configuración de la instalación

Debes pasar un archivo de configuración a la utilidad apigee-setup que contenga la información sobre la instalación de Edge. El único requisito en las instalaciones silenciosas es que el usuario de “Apigee” debe poder acceder o leer el archivo de configuración. Por ejemplo, coloca el archivo en el directorio /usr/local/var o /usr/local/share en el nodo y cámbialo a “apigee:apigee”.

Toda la información del archivo de configuración es obligatoria, excepto la contraseña del administrador del sistema Edge. Si omites la contraseña, la utilidad apigee-setup te solicita que la ingreses en la línea de comandos.

Consulta Instala componentes de Edge en un nodo para obtener más información.

Instalación con o sin Internet

Para instalar Edge en un nodo, este debe poder acceder al repositorio de Apigee:

  • Nodos con una conexión externa a Internet

    Los nodos con una conexión a Internet externa acceden al repositorio de Apigee para instalar los RPM y las dependencias de Edge.
  • Nodos sin una conexión externa a Internet

    Los nodos sin una conexión externa a Internet pueden acceder a una versión duplicada del repositorio de Apigee que configuraste de forma interna. Este repositorio contiene todos los RPM de Edge, pero debes asegurarte de tener disponibles todas las demás dependencias de los repositorios de la red interna.

    Nota: Apigee no aloja todas las dependencias de terceros en nuestros repositorios públicos. Debes descargar e instalar estas dependencias desde repositorios de acceso público.

Resuelve dependencias de instalación de RPM

Los archivos de distribución de Apigee Edge se instalan como un conjunto de archivos de RPM, cada uno de los cuales puede tener su propia cadena de dependencias de instalación. Muchas de estas dependencias se definen a través de componentes de terceros que están fuera del control de Apigee y pueden cambiar en cualquier momento. Por lo tanto, la documentación no muestra el número de versión explícito de cada dependencia.

Si realizas una instalación en una máquina con acceso a Internet, el nodo puede descargar las dependencias y los RPM necesarios. Sin embargo, si realizas la instalación desde un nodo sin acceso a Internet, en general, debes configurar un repositorio interno que contenga todas las dependencias necesarias. La única forma de garantizar que todas las dependencias se incluyan en tu repositorio local es intentar una instalación, identificar las dependencias faltantes y copiarlas en el repositorio local hasta que la instalación se realice de forma correcta.

Configura un host virtual

Un host virtual en Edge define los dominios y los puertos del router perimetral en los que se expone un proxy de API y, por extensión, la URL que usan las apps para acceder a un proxy de API. Un host virtual también define si se accede al proxy de API a través del protocolo HTTP o el protocolo HTTPS encriptado.

Como parte del proceso de integración de Edge, debes crear una organización, un entorno y un host virtual. Edge proporciona el comando setup-org para facilitar este proceso a los usuarios nuevos.

Cuando creas el host virtual, debes especificar la siguiente información:

  • El nombre del host virtual que usas para hacer referencia a él en tus proxies de API.
  • Es el puerto del router para el host virtual. Por lo general, estos puertos comienzan en 9001 y se incrementan en uno por cada host virtual nuevo.
  • El alias de host del host virtual. Por lo general, es el nombre de DNS del host virtual.

Edge Router compara el encabezado Host de la solicitud entrante con la lista de alias de host disponibles como parte de la determinación del proxy de API que controla la solicitud. Cuando realices una solicitud a través de un host virtual, especifica un nombre de dominio que coincida con el alias de host de un host virtual o especifica la dirección IP del router y el encabezado Host que contiene el alias del host.

Por ejemplo, si creaste un host virtual con un alias de host myapis.apigee.net en el puerto 9001, una solicitud de cURL a una API a través de ese host virtual podría usar una de las siguientes formas:

  • Si tienes una entrada de DNS para myapis.apigee.net:

    curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • Si no tienes una entrada de DNS para myapis.apigee.net:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    En este formulario, debes especificar la dirección IP del router y pasar el encabezado del host en el alias del host.

    Nota: El comando curl, la mayoría de los navegadores y muchas otras utilidades agregan automáticamente el encabezado Host con el dominio como parte de la solicitud para que puedas usar un comando curl en el formato:


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

Opciones cuando no tienes una entrada de DNS para el host virtual

Cuando no tienes una entrada de DNS, puedes establecer el alias del host para la dirección IP del router y el puerto del host virtual, como <routerIP>:port. Por ejemplo:

192.168.1.31:9001

Luego, ejecuta un comando curl en el siguiente formulario:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

Se prefiere esta opción porque funciona bien con la IU de Edge.

Si tienes varios routers, agrega un alias de host para cada router y especifica la dirección IP de cada router y el puerto del host virtual.

Como alternativa, puedes establecer el alias del host en un valor, como temp.hostalias.com. Luego, debes pasar el encabezado Host en cada solicitud:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

O bien, agrega el alias del host a tu archivo /etc/hosts. Por ejemplo, agrega la siguiente línea a /etc/hosts:

192.168.1.31   temp.hostalias.com

Luego, puedes realizar una solicitud como si tuviera una entrada DNS:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

Configura los componentes de Edge después de la instalación

Para configurar Edge después de la instalación, usa una combinación de archivos .properties y utilidades de Edge. Por ejemplo, para configurar TLS/SSL en la IU de Edge, debes editar los archivos .properties a fin de establecer las propiedades necesarias. Para cambiar los archivos .properties, debes reiniciar el componente de Edge afectado.

Los archivos .properties se encuentran en el directorio /opt/apigee/customer/application. Cada componente tiene su propio archivo .properties en ese directorio. Por ejemplo, router.properties y management-server.properties.

Si deseas configurar una propiedad para un componente, edita el archivo .properties correspondiente y, luego, reinicia el componente:

> /opt/apigee/apigee-service/bin/apigee-service component restart

Por ejemplo:

> /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Cuando actualizas Edge, se leen los archivos .properties del directorio /opt/apigee/customer/application. Esto significa que la actualización conservará las propiedades que establezcas en el componente.

Consulta Cómo configurar Edge para obtener más información sobre la configuración de Edge.

Asegúrate de que Edge Router pueda acceder a /etc/rc.d/init.d/functions

El router perimetral y un portal de BaaS usan el router Nginx y requieren acceso de lectura a /etc/rc.d/init.d/functions.

Si el proceso de seguridad requiere que establezcas permisos en /etc/rc.d/init.d/functions, no los establezcas en 700; de lo contrario, el router no se iniciará. Los permisos se pueden configurar en 744 para permitir el acceso de lectura a /etc/rc.d/init.d/functions.

Invoca comandos en componentes de Edge

Edge instala utilidades de administración en /opt/apigee/apigee-service/bin que puedes usar para administrar una instalación de Edge. Por ejemplo, puedes usar la utilidad apigee-all para iniciar, detener, reiniciar o determinar el estado de todos los componentes de Edge en el nodo:

/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version

Usa la utilidad apigee-service para controlar y configurar componentes individuales. La utilidad apigee-service tiene el siguiente formato:

/opt/apigee/apigee-service/bin/apigee-service component action

Por ejemplo, para reiniciar el router perimetral, haz lo siguiente:

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

Para determinar la lista de componentes instalados en el nodo, examina el directorio /opt/apigee. Ese directorio contiene un subdirectorio para cada componente de Edge instalado en el nodo. Cada subdirectorio tiene el prefijo:

  • apigee: un componente de terceros que usa Edge Por ejemplo, apigee-cassandra.
  • edge: un componente de Edge de Apigee Por ejemplo, edge-management-server.
  • edge-mint: Un componente de Monetización Por ejemplo, edge-mint-management-server.
  • baas: Un componente de BaaS de la API Por ejemplo, baas-usergrid.

La lista completa de acciones para un componente depende del componente, pero todos los componentes admiten las siguientes acciones:

  • iniciar, detener, reiniciar
  • estado, versión
  • copia de seguridad, restablecimiento
  • instalar, desinstalar

Accede a los archivos de registro

El archivo de registro para apigee-setup y la secuencia de comandos setup.sh se escriben en /tmp/setup-root.log.

Los archivos de registro para cada componente se encuentran en el directorio /opt/apigee/var/log. Cada componente tiene su propio subdirectorio. Por ejemplo, los registros del servidor de administración están en el directorio:

/opt/apigee/var/log/edge-management-server

Comandos comunes de Yum

Las herramientas de instalación de Edge para Linux dependen de Yum para instalar y actualizar componentes. Es posible que debas usar varios comandos de Yum para administrar una instalación en un nodo.

  • Borra todas las cachés de Yum:
    sudo yum clean all
  • Para actualizar un componente de Edge:
    sudo yum update componentName
    Por ejemplo:
    sudo yum update apigee-setup
    sudo yum updateedge-management-server

Estructura del sistema de archivos

Edge instala todos los archivos en el directorio /opt/apigee.

En esta guía y en la Guía de operaciones de Edge, el directorio de instalación raíz se indica de la siguiente manera:

<inst_root>/apigee

En la instalación, se usa la siguiente estructura de sistema de archivos a fin de implementar Apigee Edge para la nube privada.

Archivos de registro

Componentes

Ubicación

Servidor de administración

<inst_root>/apigee/var/log/edge-management-server

Router

<inst_root>/apigee/var/log/edge-router

Procesador de mensajes

<inst_root>/apigee/var/log/edge-message-processor

Servidor Qpid de Apigee

<inst_root>/apigee/var/log/edge-qpid-server

Servidor Postgres de Apigee

<inst_root>/apigee/var/log/edge-postgres-server

IU de Edge

<inst_root>/apigee/var/log/edge-ui

ZooKeeper

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

Cassandra

<inst_root>/apigee/var/log/apigee-cassandra

Qpidd

<inst_root>/apigee/var/log/apigee-qpidd

Base de datos de PostgreSQL

<inst_root>/apigee/var/log/apigee-postgresql

Datos

Componentes

Ubicación

Servidor de administración

<data_root>/apigee/data/edge-management-server

Router

<data_root>/apigee/data/edge-router

Procesador de mensajes

<data_root>/apigee/data/edge-message-processor

Agente de Qpid de Apigee

<data_root>/apigee/data/edge-qpid-server

Agente de Postgres de Apigee

<data_root>/apigee/data/edge-postgres-server

ZooKeeper

<data_root>/apigee/data/apigee-zookeeper

OpenLDAP

<data_root>/apigee/data/apigee-openldap

Cassandra

<data_root>/apigee/data/apigee-cassandra/data

Qpidd

<data_root>/apigee/data/apigee-qpid/data

Base de datos de PostgreSQL

<data_root>/apigee/data/apigee-postgres/pgdata