Cómo desplegar y gestionar repositorios con Rediacc
Los repositorios son la unidad de despliegue principal en Rediacc, cada uno es un entorno aislado y cifrado con su propio Docker daemon y almacenamiento dedicado. En este tutorial, crearás un repositorio cifrado, desplegarás una aplicación en contenedores, inspeccionarás los contenedores en ejecución y limpiarás. Al finalizar, habrás completado un ciclo de despliegue completo.
Requisitos previos
- El CLI
rdcinstalado con una configuración inicializada - Una máquina aprovisionada (ver Tutorial: Configuración de máquina)
- Una aplicación sencilla con un
Rediaccfileydocker-compose.yml
Grabación interactiva
Paso 1: Crear un repositorio cifrado
Cada repositorio obtiene su propio volumen de almacenamiento cifrado con LUKS. Especifica la máquina y el tamaño del almacenamiento.
rdc repo create --name test-app -m server-1 --size 2G
Rediacc crea un volumen cifrado de 2 GB, lo formatea y lo monta automáticamente. El repositorio está listo para subir archivos.
Paso 2: Listar repositorios
Confirma que el nuevo repositorio está disponible.
rdc repo list -m server-1
Muestra todos los repositorios en la máquina con su tamaño, estado de montaje y estado de cifrado.
Paso 3: Inspeccionar la ruta de montaje
Antes de desplegar, verifica que el almacenamiento del repositorio está montado y accesible.
rdc term connect -m server-1 -c "ls -la /mnt/rediacc/mounts/test-app/"
El directorio de montaje es donde residen los archivos de la aplicación, Rediaccfile, docker-compose.yml y cualquier volumen de datos.
Paso 4: Iniciar servicios
Despliega la aplicación montando el repositorio e iniciando sus servicios Docker.
rdc repo up --name test-app -m server-1 --mount
Esto monta el repositorio (si no está ya montado), inicia un Docker daemon aislado e inicia servicios mediante up().
Nota: El primer despliegue tarda más ya que se descargan las imágenes Docker. Los inicios posteriores reutilizan las imágenes en caché.
Paso 5: Ver contenedores en ejecución
rdc machine containers server-1
Muestra todos los contenedores en ejecución en todos los repositorios de la máquina, incluyendo el uso de CPU y memoria.
Paso 6: Acceder al terminal del repositorio
Para ejecutar comandos dentro del entorno Docker aislado del repositorio:
rdc term connect -m server-1 -r test-app -c "docker ps"
La sesión de terminal establece DOCKER_HOST al socket Docker aislado del repositorio. Cualquier comando Docker se ejecuta solo contra los contenedores de ese repositorio.
Paso 7: Detener y limpiar
Cuando hayas terminado, detén los servicios, cierra el volumen cifrado y opcionalmente elimina el repositorio.
rdc repo down --name test-app -m server-1 # Detener servicios
rdc repo unmount --name test-app -m server-1 # Cerrar volumen cifrado
rdc repo delete --name test-app -m server-1 # Eliminar repositorio permanentemente
down detiene los contenedores y el Docker daemon. unmount cierra el volumen LUKS. delete elimina permanentemente el repositorio y su almacenamiento cifrado.
Advertencia:
repo deletees irreversible. Todos los datos del repositorio se destruyen. Crea una copia de seguridad primero si es necesario.
Solución de problemas
“Espacio en disco insuficiente” durante la creación del repositorio
El volumen cifrado necesita espacio libre contiguo en el host. Verifica el espacio disponible con df -h en el servidor. Considera un valor --size más pequeño o libera espacio en disco.
Tiempo de espera agotado al descargar imagen Docker durante repo up
Las imágenes grandes pueden agotar el tiempo de espera en conexiones lentas. Reintenta con rdc repo up, reanuda donde se detuvo. Para entornos aislados, precarga las imágenes en el Docker daemon del repositorio.
“Fallo de montaje” o “Fallo al abrir LUKS” La contraseña LUKS se deriva de la configuración. Verifica que estás usando la misma configuración que creó el repositorio. Si el volumen ya está montado por otro proceso, desmóntalo primero.
Próximos pasos
Has creado un repositorio cifrado, desplegado una aplicación, inspeccionado contenedores y limpiado. Para monitorear tus despliegues:
- Servicios, referencia de Rediaccfile, redes de servicios, autoinicio y diseños multi-servicio
- Tutorial: Monitoreo y diagnóstico, comprobaciones de salud, inspección de contenedores y diagnóstico
- Herramientas, terminal, sincronización de archivos e integración con VS Code