Jelajahi Sumber

Finalizando documentación

Okynos 9 tahun lalu
induk
melakukan
1f6afb8569
1 mengubah file dengan 32 tambahan dan 2 penghapusan
  1. 32 2
      README.md

+ 32 - 2
README.md

@@ -4,7 +4,8 @@
 ##### Creación, instanciación y provisionamiento de contenedores docker.
 
 En este documento se van a detallar las actividades que se han realizado paso por paso
-durante la realización de las tareas descritas en el guión de la práctica 2.
+durante la realización de las tareas descritas en el guión de la práctica 2, este documento
+siempre es accesible desde su [repositorio en Gogs](https://makefile.es:3000/okynos/Practica2CC2).
 
 
 ### Paso 1 - Descripción general de despliegue de contenedores
@@ -52,4 +53,33 @@ exit
 Con el vi modificamos la linea de acceso a la base de datos cambiando docker.ugr.es:15035 por hadoop.ugr.es:14037 que es el puerto que le asignamos a nustro contenedor con mongo.
 Tambien editamos el fichero de congifuración de nginx para añadir la lectura de phpy el fichero pho.ini y le añadimos extension=mongo.so.
 Con esto ya tendríamos configurada la parte de nginx en la que se muestra nestro index con acceso a la base de datos pero la base de datos todavia no se ha configurado vamos a pasar a ello
-Nos conectamos a nuestro contenedor o directamente desde una aplicación externa como compass a nuestra base de datos mongo y replicamos la base de datos que teníamos en la practica anterior y podemos observar como nuestro servidor http se conecta a nuestro servicio mongodb.
+Nos conectamos a nuestro contenedor o directamente desde una aplicación externa como compass a nuestra base de datos mongo y replicamos la base de datos que teníamos en la practica anterior y podemos observar como nuestro servidor http se conecta a nuestro servicio mongodb y que todo funciona correctamente.
+
+Hemos usado un contenedor con ubuntu ya que al probar alpine y otros contenedores con nginx no incluian alguno de los plugins de php o no tenían forma de agregar la extensión de mongo en php, por lo tanto hemos escogido una imagen estandar que contiene todas las herramientas y realizamos el mismo proceso que en OpenNebula.
+
+Este sería el aspecto de nuestra aplicación como en la práctica anterior:
+![Captura de pantalla de la aplicación que accede a una base de datos mongo](https://makefile.es:3000/okynos/Practica2CC2/raw/master/app.png)
+
+### Paso 3 - Instanciando nuestro contenedor NextCloud
+La instalación y despliegue del contenedor de nextcloud (análogo a owncloud) es muy sencillo y rápido debido a que ya viene preparado y configurado completamente para funcionar, aún así nos hemos complicado un poco la instalación ya que la base de datos que nos incorpora por defecto es sqlite y es un tanto ineficiente, es por ello que vamos a instalar un cuarto contenedor con una base de datos SQL llamada Postgres la cual funciona de manera similar a mysql, vamos a realizar los pasos para desplegar estas dos aplicaciones:
+
+```
+docker run --name PostgresOkynos -e POSTGRES_PASSWORD=NUESTRAPASS -d --restart=always -p 14039:5432 postgres
+docker run -d -p 14038:80 --restart=always --name NextCloudOkynos nextcloud
+```
+
+Tan sencillo como ejecutar estos dos comandos y tendremos funcionando nuestro servicio nextcloud, nos dirigimos a la dirección donde tenemos alojado [NextCloud](http://hadoop.ugr.es:1438) y en ella se nos mostraría si es la primera vez que lo ejecutamos la pantalla de instalación en la que debemos definir el usuario administrador, su contraseña y tenemos la opción de definir la base de datos para ello seleccionamos postgres y le damos los parámetros necesarios los cuales pueden ser como los siguientes:
+
+```
+Usuario: postgres
+Clave: NUESTRACLAVE
+Nombre de la BD: nextcloud
+Dirección: http://hadoop.ugr.es:14039
+```
+
+Y al darle a comenzar la instalación nos retornará a la pantalla principal donde se nos mostrarán los archivos que poseemos, adjuntamos aquí una captura:
+![Captura del servicio NextCloud Pantalla principal](https://makefile.es:3000/okynos/Practica2CC2/raw/master/nextcloud.png)
+
+
+### Paso 4 - Redundancia
+Aunque ya se ha podido observar en los comandos, a la pregunta si replicando contenedores se podría obtener una mejora respecto a la robustez es cierto que se podría mejorar si los contenedores se crean en nodos u ordenadores distintos con un balanceador de carga si un contenedor cayese funcionaria como si esa máquina hubiera caido y le mandaría el tráfico a los demás contenedores, aún así si el contenedor cae por algún fallo software, con la opción --restart=always nos estamos curando en ese tipo de errores ya que al caer el contenedor si la máquina no cae éste volverá a levantarse y a funcionar.