Sitios web

Complementos Administrados: Postgres y Redis

The Addons tab lets you attach a managed PostgreSQL database or a managed Redis instance to a site without building or maintaining a server for it. Kapsule provisions it, gives you a connection…

La pestaña Addons te permite adjuntar una base de datos PostgreSQL administrada o una instancia Redis administrada a un sitio sin construir ni mantener un servidor para ello. Kapsule la provisiona, te da una cadena de conexión y la desactiva limpiamente cuando la eliminas.

Dónde viven los Addons

Abre Websites, haz clic en el sitio, abre el menú Settings en la pestaña del sitio y elige Addons. La página se titula Managed addons.

Hay dos opciones en el catálogo:

AddonUso típico
PostgreSQLEl almacén de datos principal para una aplicación que no está en MySQL
RedisAlmacenamiento en caché, almacenamiento de sesiones y colas de trabajos en segundo plano

Estos son independientes de la base de datos MySQL que viene con un sitio de alojamiento estándar. Ese se encuentra en la pestaña Files, luego Database y no necesita provisioning: consulta Connecting To Your Database Over an SSH Tunnel.

Página de addons administrados para un sitio en KPanel

Solicitar un Addon

  1. Encuentra el addon en la sección Add a managed database.
  2. Haz clic en Add to site.

La solicitud se registra inmediatamente y el addon aparece en Your addons con una insignia PENDING y la nota Waiting for provisioner. La página se actualiza cada quince segundos, así que puedes dejarla abierta.

Un trabajo en segundo plano recoge las solicitudes pendientes cada pocos minutos, crea una base de datos dedicada y un usuario dedicado para tu sitio, y escribe una cadena de conexión encriptada. El estado luego pasa a ACTIVE.

Solicitar o eliminar un addon requiere el permiso sites:write. Los miembros del equipo de solo lectura pueden ver qué addons existen y su estado, pero los botones están ocultos.

Uno de cada, por sitio

Un sitio puede contener un addon PostgreSQL y un addon Redis. Pedir un segundo del mismo tipo se rechaza con un mensaje diciendo que ya está provisionado, y el catálogo oculta una opción una vez que está instalada. Cuando ambos están instalados, la sección del catálogo dice All available addons are installed.

Leer el estado

EstadoSignificado
PENDINGSolicitado, en cola para el provisioner
PROVISIONINGSe está creando ahora
ACTIVEListo para usar
FAILEDEl provisioning no se completó; la razón se muestra en la fila
DELETEDEliminado, ya no aparece

Una fila FAILED muestra el texto de error real debajo de ella en lugar de un mensaje genérico. Si la razón no es algo en lo que puedas actuar, cítala textualmente en un ticket de soporte: consulta Opening a Support Ticket.

Obtener la cadena de conexión

Una vez que un addon es ACTIVE, su fila muestra una cadena de conexión enmascarada con la contraseña reemplazada por puntos, para que puedas confirmar el host y el nombre de la base de datos de un vistazo sin exponer la credencial.

Haz clic en Copy connection para poner la cadena de conexión completa en tu portapapeles. Se descifra en el servidor para esa única solicitud y nunca se imprime en la página, por lo que las capturas de pantalla y los intercambios de pantalla no la filtran. Cada revelación se escribe en la pista de auditoría del sitio y aparece en el Site Activity Log.

La cadena está en la forma de URL habitual para cada motor, llevando el host, puerto, usuario, contraseña y nombre de la base de datos que se crearon para este sitio.

Usarlo en tu aplicación

Pega la cadena de conexión en donde tu aplicación lea su configuración. En un sitio Node.js, el lugar correcto para ello es la pestaña Secrets, bajo una clave como DATABASE_URL o REDIS_URL, en el entorno production.

No codifiques la cadena de conexión en un archivo que confirmes. Contiene una contraseña activa. Si llega a un repositorio remoto de git, tiene que ser tratada como filtrada, y el único arreglo real es eliminar el addon y solicitar uno nuevo, porque la credencial no se puede rotar en su lugar desde el panel.

Eliminar un Addon

Haz clic en Delete en la fila. KPanel te pide que confirmes y es directo sobre lo que sucede: esto elimina la base de datos administrada, y los datos son irrecuperables.

La fila se marca como eliminada inmediatamente y el provisioner desactiva la base de datos y el usuario subyacentes en su próximo paso. Las conexiones existentes se terminan como parte de esa desactivación.

No se toma ninguna copia de seguridad de un addon administrado al eliminarlo, y no hay deshacer. Si hay algo en él que quieras conservar, volcalo primero con pg_dump o redis-cli --rdb mientras el addon sigue estando activo y la cadena de conexión aún funciona.

Elegir entre las opciones

Usa PostgreSQL cuando tu aplicación necesite una base de datos relacional y esté escrita para Postgres: restricciones fuertes, transacciones, columnas JSON y búsqueda de texto completo que de otro modo tendrías que agregar.

Usa Redis para cosas que pueden desaparecer: fragmentos en caché, contadores de límite de velocidad, almacenamiento de sesiones y colas de trabajos. Trátalo como rápido y volátil, no como un sistema de registro.

Usa la base de datos MySQL incorporada para WordPress y para cualquier cosa ya escrita contra MySQL. Agregar un addon Postgres a un sitio WordPress no hace nada útil, porque WordPress no puede hablar con él.

Solución de problemas

El addon ha estado PENDING durante mucho tiempo. El provisioner se ejecuta en un horario en lugar de instantáneamente. Deja la página abierta, ya que se actualiza a sí misma, y vuelve a revisar. Si no se ha movido después de algunos pases, abre un ticket de soporte con el dominio del sitio y el tipo de addon.

El provisioning FAILED. Lee el error en la fila. Elimina el addon fallido y solicítalo nuevamente, lo cual es seguro: una fila fallida nunca tuvo una base de datos activa detrás.

Copy connection no hace nada. Algunos navegadores bloquean escrituras en el portapapeles cuando la pestaña no está enfocada. Haz clic en la página primero, luego vuelve a hacer clic en el botón.

La aplicación no puede conectarse. Verifica tres cosas en orden: que el estado del addon sea ACTIVE, que hayas copiado la cadena en lugar de escribirla nuevamente, y que tu aplicación esté leyendo el valor que realmente estableciste en lugar de uno antiguo de un deploy anterior. Por lo general, se necesita un reinicio antes de que se recoja la nueva configuración.

Las conexiones se rechazan después de un redeploy. Confirma que la cadena de conexión en tu configuración siga coincidiendo con la de esta página. Eliminar y volver a solicitar un addon crea un nuevo usuario y una nueva contraseña, por lo que una cadena antigua no funcionará.

Dónde ir a continuación

¿Aún necesitas ayuda?

Envíanos un correo electrónico a support@kapsulehost.com o abre un chat en KPanel.

Abrir KPanel
Complementos Administrados: Postgres y Redis