Descripción general de la instalación de Edge

Edge para nube privada v. 4.16.09

Una instalación típica de Edge 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 realizar pruebas o en 13 nodos para 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 en /tmp/bootstrap_4.16.09.sh.
    • Instala la utilidad apigee-service de Edge y las dependencias.
    • 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 que seleccionaste.
    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 Incorpora una organización para obtener más información.

Cómo controlar un error de instalación

En caso de que se produzca un error 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 de forma repetida 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 principal-en espera de Postgres

De forma predeterminada, Edge instala todos los nodos de Postgres en modo principal. Sin embargo, en los sistemas de producción con varios nodos de Postgres, los configuras para que usen la replicación de principal-en espera, de modo que, si el nodo principal falla, el nodo en espera pueda seguir entregando tráfico. Consulta Configura la replicación principal en espera para Postgres para 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, el usuario raíz o un usuario que tenga acceso completo a sudo debe ejecutar los comandos de Edge. El acceso sudo completo significa que el usuario tiene acceso sudo para realizar las mismas operaciones que el usuario raíz.

Cualquier usuario que quiera ejecutar los siguientes comandos o secuencias de comandos debe ser root o un usuario con acceso completo a sudo:

  • Utilidad apigee-service:
    • Comandos de apigee-service: install, uninstall, update.
    • Comandos apigee-all: install, uninstall, update.
  • La secuencia de comandos setup.sh para instalar componentes de Edge (a menos que ya hayas usado "apigee-service install" para instalar los RPM requeridos. Luego, acceso raíz o sudo completo si no es necesario).
  • 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 ejecutarse como el usuario "apigee".

Cualquier usuario que desee ejecutar todos los demás comandos que no sean los que se muestran arriba debe ser un usuario con acceso sudo completo al usuario "apigee". Estos comandos incluyen los siguientes:

  • Comandos de la utilidad apigee-service, incluidos los siguientes:
    • Comandos de apigee-service, como start, stop, restart, configure.
    • Comandos apigee-all, como start, stop, restart, configure.

Para configurar un usuario de modo que tenga acceso sudo completo al usuario "apigee", edita el archivo sudoers para agregar lo siguiente:

installUser        ALL=(apigee)      NOPASSWD: ALL

Donde installUser es el nombre de usuario de la persona que trabaja con Edge.

El usuario "apigee" debe poder acceder a todos los archivos o recursos que usan 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 asegurarte de que sea accesible para los comandos de Edge:

  1. Crea el archivo en un editor como cualquier usuario.
  2. Cambia el propietario del archivo a "apigee:apigee" o, si cambiaste el usuario que ejecuta el servicio de Edge del usuario "apigee", cambia el propietario 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 para las instalaciones silenciosas es que el usuario "apigee" pueda acceder al archivo de configuración o leerlo. 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 de Edge. Si omites la contraseña, la utilidad apigee-setup te solicitará 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 a Internet externa

    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 a Internet externa

    Los nodos sin una conexión a Internet externa 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 todas las demás dependencias disponibles de los repositorios en 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 las dependencias de instalación de RPM

Los archivos de distribución de Apigee Edge se instalan como un conjunto de archivos RPM, cada uno de los cuales puede tener su propia cadena de dependencias de instalación. Muchas de estas dependencias se definen mediante componentes de terceros que están fuera del control de Apigee y pueden cambiar en cualquier momento. Por lo tanto, en la documentación, no se indica 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 los RPM y las dependencias necesarios. Sin embargo, si realizas la instalación desde un nodo sin acceso a Internet, por lo general, configuras un repositorio interno que contiene 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 correctamente.

Configura un host virtual

Un host virtual en Edge define los dominios y los puertos del router de Edge 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 con el protocolo HTTP o con el protocolo HTTPS encriptado.

Como parte del proceso de incorporació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.
  • El puerto en el 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, el nombre de DNS del host virtual.

El router de Edge 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 de host.

Por ejemplo, si creaste un host virtual con un alias de host de 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 alias de host en el encabezado 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, por lo que puedes usar un comando curl de la siguiente forma:


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

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

Una opción cuando no tienes una entrada de DNS es configurar el alias de host en la dirección IP del router y el puerto del host virtual, como <routerIP>:port. Por ejemplo:

192.168.1.31:9001

Luego, crea un comando curl con el siguiente formato:

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 uno y especifica la dirección IP de cada router y el puerto del host virtual.

Como alternativa, puedes establecer el alias de 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'

También puedes agregar el alias de host a tu archivo /etc/hosts. Por ejemplo, agrega esta línea a /etc/hosts:

192.168.1.31   temp.hostalias.com

Luego, puedes realizar una solicitud como si tuvieras una entrada de 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, edita los archivos .properties para establecer las propiedades necesarias. Los cambios en los archivos .properties requieren que reinicies 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.

Para establecer una propiedad de 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 en el directorio /opt/apigee/customer/application. Esto significa que la actualización conserva las propiedades que estableciste en el componente.

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

Asegúrate de que el router perimetral pueda acceder a /etc/rc.d/init.d/functions

Edge Router y BaaS Portal usan el router de Nginx y requieren acceso de lectura a /etc/rc.d/init.d/functions.

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

Invoca comandos en los 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 de Edge, 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 siguiente prefijo:

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

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

  • start, stop, restart
  • status, version
  • copia de seguridad, restablecer
  • install, uninstall

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 de 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 se encuentran 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, haz lo siguiente:
    sudo yum update componentName
    Por ejemplo:
    sudo yum update apigee-setup
    sudo yum update edge-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

La instalación usa la siguiente estructura del sistema de archivos para 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

Message Processor

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

Servidor de Qpid de Apigee

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

Servidor de 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

Message Processor

<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