Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
Anula la implementación de un proxy de destinos alojados
Cuando desincorporas un proxy de Edge que incluye una aplicación de destinos alojados, se desincorpora la app de destinos alojados asociada, pero no se borra la imagen subyacente de la aplicación. Si vuelves a implementar el proxy, también lo hará la app de Destinos alojados.
Borra un proxy de destinos alojados
Después de borrar un proxy de destinos alojados, las instancias subyacentes del entorno de ejecución dejarán de ejecutarse en un período determinado. Sin embargo, el código de la aplicación persistirá.
Accede a los archivos de registro
Los archivos de registro son útiles para depurar y solucionar problemas. Puedes ver dos tipos de archivos de registro para una implementación de objetivos alojados:
- Registro de compilación: Muestra los resultados relacionados con la implementación y la compilación de una app de destinos alojados.
- Registro del entorno de ejecución: Muestra el resultado relacionado con la app de Hosted Target en ejecución. Los registros del entorno de ejecución se definen en función del entorno y muestran información de registro para la revisión del proxy implementada actualmente.
Cómo acceder a los registros desde la IU de Edge
- Ve a apigee.com/edge
- Ingresa tus credenciales de acceso y haz clic en Acceder.
- Selecciona Develop > API Proxies en el menú de navegación lateral.
- Selecciona el proxy del que deseas ver los registros.
- Haz clic en la pestaña Desarrollar.
- Para ver el registro de compilación, haz clic en Registros de compilación.
- Para ver el registro del entorno de ejecución, haz clic en Registros del entorno de ejecución.
Cómo acceder a los registros con la API
También puedes usar una API de Edge para recuperar registros de destinos alojados. Para obtener más información, consulta Cómo obtener registros de Node.js almacenados en caché.
Usa un repositorio de npm privado
En esta sección, se explica cómo implementar un proxy de Node.js en los destinos alojados en los casos en los que usas un repositorio de NPM privado en tu entorno de desarrollo.
Qué debes saber para usar un repositorio privado
Cuando implementas una app de Node.js en Edge, todas las dependencias de tu proyecto se importan automáticamente
como parte del proceso de implementación.
En esencia, los destinos alojados ejecutan npm install
en tu código cuando se implementa.
Sin embargo, si usas un repositorio de NPM privado en tu entorno de desarrollo, las dependencias privadas no se pueden resolver en la nube. En este caso, la solución es usar la opción --bundled-dependencies
cuando utilizas la utilidad de implementación apigeetool. Consulta también
Cómo implementar Node.js desde tu sistema a Edge.
Cuando usas la marca --bundled-dependencies
en apigeetool
, tu
app de Node.js se subirá a los destinos alojados, y los archivos locales o privados que aparezcan
en el array bundledDependencies
de package.json
se comprimen y suben con el paquete.
Aunque no es una situación común, ten en cuenta que, si duplicas un repositorio público de NPM de forma interna, la implementación fallará si el paquete de implementación incluye un archivo .npmrc
o package-lock.json
que apunte a tu espejo privado. En este caso, asegúrate de omitir .npmrc
o package-lock.json
del paquete de proxy que deseas implementar.
Implementa con un repositorio de NPM privado
Para usar los módulos proporcionados desde un repositorio privado de NPM, sigue estos pasos:
- Accede a npm:
npm login
- Obtén un token de autenticación de npm:
- Localiza tu archivo .npmrc (debe estar en ~/.npmrc).
- En tu archivo .npmrc, anota el token al final de la línea que se ve de la siguiente manera:
//registry.npmjs.org/:_authToken=****
- También puedes usar los comandos
npm token <list | create | revoke>
para enumerar, crear o revocar un token de autenticación. Consulta la documentación de npm-token para obtener más detalles. - Accede a la página de configuración de los mapas de par clave-valor, como se describe a continuación.
Edge
Para acceder a la página de configuración de mapas de par clave-valor con la IU de Edge, sigue estos pasos:
- Accede a apigee.com/edge.
- Selecciona Administrador > Entornos > Mapas de par clave-valor en la barra de navegación izquierda.
Edge clásico (nube privada)
Para acceder a la página de configuración de mapas de par clave-valor con la IU de Edge clásica, sigue estos pasos:
- Accede a
http://ms-ip:9000
, donde ms-ip es la dirección IP o el nombre de DNS del nodo del servidor de administración. - Selecciona APIs > Configuración del entorno > Mapas de par clave-valor en la barra de navegación superior.
- Haz clic en + Mapa de par clave-valor.
- En el diálogo Nuevo mapa de par clave-valor, ingresa un nombre y selecciona Encriptado.
- Haz clic en Agregar.
- Agrega el token de autenticación que encontraste o creaste anteriormente como una entrada nueva en cada una de las KVMs que acabas de crear.
- En el archivo app.yaml, agrega una entrada que haga referencia al KVM y a la clave asociada con el token de autenticación de npm. Debería verse algo similar a esto:
- El atributo name de nivel superior corresponde al nombre de la variable de entorno que se creará.
- El name en valueRef corresponde al KVM que creaste anteriormente.
- El atributo key corresponde a la clave que se asigna al token de npm que agregaste al KVM.
- Crea un archivo .npmrc en el mismo directorio que tu package.json. Este archivo debería verse de la siguiente manera:
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
o, si no usasregistry.npmjs.org
, puedes establecer el alcance en el archivo .npmrc agregando una línea como esta@myscope:registry=https://mycustomregistry.example.org
. Consulta también la documentación de npmrc. - Sube o actualiza tu proxy de Node.js con los archivos .npmrc y app.yaml incluidos.
- Asegúrate de que el proxy nuevo o actualizado se implemente y funcione con el módulo del repositorio privado deseado.
- Si el proxy no se implementa, revisa los registros de la compilación para ver si falló la instalación del módulo npm privado. De ser así, debes seguir estos pasos:
- En la pestaña Develop, asegúrate de que el archivo .npmrc esté presente.
- Asegúrate de que tu token sea válido (intenta instalar el módulo localmente con el token presente en kvm).
- Si usas un alcance personalizado, asegúrate de que esté configurado.
env: - name: NPM_TOKEN valueRef: name: npm_store key: private_token
Aquí:
Especifica la versión de NPM para dependencias agrupadas
De forma predeterminada, se usa NPM v4 para instalar dependencias empaquetadas en el entorno de destinos alojados.
Sin embargo, si quieres usar una versión diferente de NPM, puedes especificarla en la variable de entorno NPM_VERSION
. Puedes establecer esta variable en el archivo de manifiesto de la aplicación. Para obtener más información, consulta Elementos del archivo de manifiesto.
Si usas dependencias agrupadas y no especificas NPM_VERSION
, los destinos alojados usan NPM v4 de forma predeterminada. Si no usas dependencias empaquetadas, se usa la versión de NPM que se incluye en el entorno de ejecución de Node.js que especificaste.
Ejemplo de dependencias agrupadas
Para ver un ejemplo que demuestre la función de dependencias agrupadas con objetivos alojados, consulta Cómo crear una aplicación de Node.js con funciones alojadas mediante módulos personalizados.Agrega un extremo de verificación de estado
Tienes la opción de implementar un extremo de verificación de estado para tu aplicación de Node.js. Apigee usa este extremo cuando tu aplicación de Node.js comienza a verificar que esté activa y en ejecución en el contenedor.
De forma predeterminada, el extremo que espera Apigee es /health
. Puedes cambiar el extremo predeterminado si lo especificas en una variable de entorno llamada HOSTED_TARGET_HEALTH_CHECK_PATH
. Puedes establecer esta variable en el archivo de manifiesto de la aplicación. Para obtener más información, consulta Elementos del archivo de manifiesto.
No es necesario implementar un extremo de verificación de estado. Sin embargo, si implementas un extremo de verificación de estado, ten en cuenta lo siguiente:
- Si la aplicación se cierra cuando Apigee llega al extremo, la aplicación no se iniciará como se espera.
- No hay problema si tu extremo muestra un estado HTTP 404 No encontrado.
/health
oHOSTED_TARGET_HEALTH_CHECK_PATH
solo se usa para verificar si tu aplicación se está ejecutando. Se ignora la respuesta real.
Cambia la ubicación de la caché de NPM
Las versiones más recientes de Node.js usan una versión de NPM que usa /root/.npm
para la caché de NPM.
Esta ubicación presenta un problema para los destinos alojados porque la ubicación del directorio es de solo lectura, ya que el entorno de ejecución de destino alojado usa un sistema de archivos tmpfs en el que solo se puede escribir /tmp
.
Para solucionar este problema, puedes configurar la variable de entorno npm_config_cache
del archivo app.yaml
(el archivo de manifiesto) de tu aplicación en un directorio dentro de /tmp
. Por ejemplo:
runtime: node application: my-express-app env: - name: npm_config_cache value: /tmp/.npm - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Ejecuta tu aplicación sin NPM
De forma predeterminada, Destinos alojados usa npm start
para ejecutar la aplicación de destino alojado. Sin embargo,
en la tarea anterior, analizamos un problema con el uso de NPM, ya que las versiones más recientes intentarán usar
/root/.npm
para la caché de NPM, que no se puede escribir y hace que tu destino alojado
no se inicie. Si bien la tarea anterior funcionará en este problema, otra opción sería ejecutar tu aplicación sin NPM. Para ello, puedes usar los valores command
y args
en el archivo app.yaml
(el archivo de manifiesto) de tu aplicación para ejecutar tu destino alojado directamente con node index.js
. Por ejemplo:
runtime: node application: my-express-app command: node args: - index.js env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3Por supuesto, puedes usar cualquier comando que consideres adecuado, y
node index.js
es solo un
ejemplo.