Diferencia entre revisiones de «Servidor 16/17»
(→Tiempo empleado) |
|||
Línea 4: | Línea 4: | ||
* Limitación de subdominios, Propuesta de mejora mediante http://www.duckdns.org -> http://egc.duckdns.org | * Limitación de subdominios, Propuesta de mejora mediante http://www.duckdns.org -> http://egc.duckdns.org | ||
* ¿Problemas con el puerto 443? | * ¿Problemas con el puerto 443? | ||
+ | |||
+ | = Próximos pasos = | ||
+ | * Como lanzar pruebas de un proyecto maven en un docker que se genere automáticamente | ||
+ | * Como desplegar proyectos tomcat en un docker que se genere automáticamente | ||
= Aplicando seguridad a la máquina = | = Aplicando seguridad a la máquina = | ||
Línea 52: | Línea 56: | ||
* Listar imágenes locales: docker images | * Listar imágenes locales: docker images | ||
+ | = Despliegue continuo = | ||
+ | La idea a seguir sería la plasmada en este artículo pero necesita modificaciones: https://blog.philipphauer.de/tutorial-continuous-delivery-with-docker-jenkins/ | ||
+ | == Idea inicial == | ||
+ | # Desplegar proxy-inverso | ||
+ | # Desplegar Let's Encrypt | ||
+ | # ¿Desplegar registry? | ||
+ | # Desplegar jenkins master | ||
+ | -- Bucle -- | ||
+ | # Desplegar necesidades jenkins slave | ||
+ | # Desplegar jenkins slave | ||
+ | -- Fin bucle -- | ||
+ | # Añadir jenkins slave a jenkins master | ||
+ | # Configurar lanzamiento de tests en los jenkins slave (¿se debería recrear la base de datos constantemente?) | ||
+ | # En caso de pasar los tests, desplegar cada cosa en sus dockers como configuración test | ||
+ | # Manualmente, desplegar cada cosa en sus dockers como configuración estable | ||
+ | |||
+ | == Posibilidades == | ||
+ | * Es posible desplegar y eliminar contenedores desde dentro del contenedor jenkins. | ||
= Otras herramientas = | = Otras herramientas = | ||
Línea 96: | Línea 118: | ||
|- | |- | ||
| [[Usuario:Manloprui1|Manuel López Ruiz]] || 29/10/2016 || 16:30 || 17:35 || 4:10 || Prueba de contenedores y detección de errores | | [[Usuario:Manloprui1|Manuel López Ruiz]] || 29/10/2016 || 16:30 || 17:35 || 4:10 || Prueba de contenedores y detección de errores | ||
+ | |- | ||
+ | | [[Usuario:Manloprui1|Manuel López Ruiz]] || 30/10/2016 || 19:45 || 20:45 || 5:10 || Prueba compilación proyectos y prueba despliegue contenedores | ||
|- | |- | ||
|} | |} |
Revisión del 20:38 30 oct 2016
Contenido
Cosas a preguntar
- ¿Accceso a cualquier sitio dentro de egc.us.es mediante clave? No supondría mucho trabajo usar la misma clave para todos
- ¿Firmar el certificado de Let's Encrypt Benavides?
- Limitación de subdominios, Propuesta de mejora mediante http://www.duckdns.org -> http://egc.duckdns.org
- ¿Problemas con el puerto 443?
Próximos pasos
- Como lanzar pruebas de un proyecto maven en un docker que se genere automáticamente
- Como desplegar proyectos tomcat en un docker que se genere automáticamente
Aplicando seguridad a la máquina
Creación de usuarios y dando permisos sudo
Con el fin de securizar el sistema se creará un usuario distinto de root con permisos de sudo:
useradd -m -g users -G sudo,docker -s /bin/bash egcuser
y asignamos una clave:
passwd egcuser
Securizando SSH
Para ello lo más importante es cerrar el acceso para el usuario root con el fin de evitar que, con ataques de fuerza bruta, se consiga acceder puesto que ya se sabe el usuario con antelación.
Modificaremos el archivo /etc/ssh/sshd_config cambiando el siguiente valor:
PermitRootLogin no
Eliminación elementos innecesarios
Al encontrar elementos innecesarios se eliminaron (esta orden no se ejecuta directamente si no se va eliminado paquete a paquete):
yum groups remove gnome-desktop Xfce
yum remove xfce4-* xorg-x11* xfwm4* libreoffice* alsa-* pulseaudio-* gtk* adwaita-* desktop-file-utils* gnome-* cups-* anaconda-*
Ayudado por sudo yum list installed | less
NetworkManager ModemManager anaconda avahi bacula bluez bzip2 colord cracklib dejavu glib*
Con todo esto conseguí reducir el espacio ocupado a 4'5 G quedando libres 11 G. Inicialmente el espacio libre no llegaba a 2 G
Eliminar antiguos dockers
Se encontrarón imágenes antiguas que ocupaban espacio innecesario y se decidieron eliminar según lo indicado en esta fuente: http://blog.yohanliyanage.com/2015/05/docker-clean-up-after-yourself/
Uso básico docker
- Listart dockers: docker ps -a
- Listar imágenes locales: docker images
Despliegue continuo
La idea a seguir sería la plasmada en este artículo pero necesita modificaciones: https://blog.philipphauer.de/tutorial-continuous-delivery-with-docker-jenkins/
Idea inicial
- Desplegar proxy-inverso
- Desplegar Let's Encrypt
- ¿Desplegar registry?
- Desplegar jenkins master
-- Bucle --
- Desplegar necesidades jenkins slave
- Desplegar jenkins slave
-- Fin bucle --
- Añadir jenkins slave a jenkins master
- Configurar lanzamiento de tests en los jenkins slave (¿se debería recrear la base de datos constantemente?)
- En caso de pasar los tests, desplegar cada cosa en sus dockers como configuración test
- Manualmente, desplegar cada cosa en sus dockers como configuración estable
Posibilidades
- Es posible desplegar y eliminar contenedores desde dentro del contenedor jenkins.
Otras herramientas
Varias sesiones con una misma conexión
Para ello usaremos el programa screen.
Uso básico:
- Conexión: screen -S tuSesion
- Reconexión: screen -R tuSesion
- Desconexión: [ctrl + A] + D
- Crear sesión virtual: [ctrl + A] + C
Editor de texto
El usado habitualmente es vim
Monitor del equipo
El usado habitualmente es htop
Espacio usado por las subcarpetas de la carpeta actual
sudo bash -c "du -shc --time *" | sort -h -r
Tiempo empleado
Alumno | Dia | Inicio | Fin | Acumulado | Motivo |
---|---|---|---|---|---|
Manuel López Ruiz | 28/10/2016 | 16:10 | 18:15 | 2:05 | Eliminación y securización máquina |
Manuel López Ruiz | 28/10/2016 | 21:35 | 22:00 | 2:30 | Eliminación y securización máquina |
Manuel López Ruiz | 29/10/2016 | 15:15 | 16:00 | 3:15 | Creación scripts Let's Enccryot y proxy inverso |
Manuel López Ruiz | 29/10/2016 | 16:30 | 17:35 | 4:10 | Prueba de contenedores y detección de errores |
Manuel López Ruiz | 30/10/2016 | 19:45 | 20:45 | 5:10 | Prueba compilación proyectos y prueba despliegue contenedores |