SlideShare una empresa de Scribd logo
1 de 15
Adrián Gómez Lois
Administración de Sistemas Informáticos y Redes
CIFP A Carballeira - Marcos Valcárcel
Noviembre - 2018
Creando un Dockerfile
▪ Partirá de una imagen limpia de Debian.
▪ Instalará los paquetes: net-tools, curl, mysql, apache2, php y otros paquetes necesarios relacionados:
wget, nano, curl, openssh-server y supervisor.
▪ Creará una BBDD Worpress con usuario y password y le otorgará permisos.
▪ Copiará un contenido de una instalación previamente configurada con un theme personalizado y
adaptado de Worpress, asignará el propietario www-data al directorio.
▪ Creará un directorio en el contenedor y copiará en él los certificados SSL para el dominio de la web.
(Del dominio “itgal.es” adquirido a través del registrar (registrador) 1&1).
▪ Copiará dos ficheros Virtualhost previamente configurados al servidor Apache2 del contenedor y
habilitará los módulos utilizados y necesarios para Apache2.
▪ Creará y configurará un usuario para para la conexión SSH al contenedor.
▪ Establecerá un banner motd personalizado.
▪ Expondrá públicamente los puertos para SSH/22, HTTP/80 y HTTPS/443.
▪ Establecerá como entrypoint (CMD) del contenedor la ejecución de supervisord. 2
Subir imagen a Docker Hub
3
Diagrama AWS:
Docker Swarm,
Auto Scaling Group,
Elastic Load Balancer
4
root@manager:~# docker service create 
> --name webitgal 
> --publish 80:80 
> --publish 443:443 
> --replicas 3 
> --update-parallelism 1 
> --update-delay 5s 
> --restart-condition on-failure 
> adryanaws/webitgal
8eoqdtcmx20mne3iepo2074px
overall progress: 3 out of 3 tasks
1/3: running [=========================>]
2/3: running [=========================>]
3/3: running [=========================>]
verify: Service converged
Docker Swarm:
Crear el servicio con tres
tareas de réplica en tres
nodos desplegados con ASG
5
Elastic Load Balancer:
Balanceador de carga entre instancias EC2 gestionadas por ASG
e instancia fija correspondiente al nodo manager.
6
Crear un registro CNAME en
la configuración DNS que
apunte al DNS Name del ELB
Elastic Load Balancer:
Balanceo de carga entre instancias
EC2 (nodos Swarm). Para el servicio
replicado “webital”
<div style="background-color:black;color:white;font-
size:1.5em;text-align:center;padding:5px;width:100%">
<?php echo
file_get_contents("http://169.254.169.254/latest/meta-
data/local-ipv4"); ?>
<br />
<?php echo
file_get_contents("http://169.254.169.254/latest/meta-
data/instance-id"); ?>
</div>
7
root@manager:~# docker service update --replicas=6 webitgal
webitgal
overall progress: 6 out of 6 tasks
1/6: running [==================================>]
2/6: running [==================================>]
3/6: running [==================================>]
4/6: running [==================================>]
5/6: running [==================================>]
6/6: running [==================================>]
verify: Service converged
Docker Swarm:
Actualizar el servicio con tres
tareas de réplica
8
Auto Scaling Group
Scale-out en una
instancia que se
agregará al nodo Swarm
9
root@manager:~# docker service update --force webitgal
webitgal
overall progress: 6 out of 6 tasks
1/6: running [==================================>]
2/6: running [==================================>]
3/6: running [==================================>]
4/6: running [==================================>]
5/6: running [==================================>]
6/6: running [==================================>]
verify: Service converged
Docker Swarm:
Actualización de servicio con las
misma tareas de réplicas anteriores,
creando así el rebalanceo de
carga entre los nodos del Swarm
10
root@manager:~# docker service update --replicas=1
webitgal
webitgal
overall progress: 1 out of 1 tasks
1/1: running
[===============================================>]
verify: Service converged
Docker Swarm:
Actualización de servicio para
reducir las tareas de réplicas a uno
11
Auto Scaling Group
Scale-in a cero en todas las instancias desplegadas
12
root@manager:~# docker node ls
ID HOSTNAME STATUS
AVAILABILITY MANAGER STATUS ENGINE VERSION
eyxf2pqhfbprckm6db44761zj ip-192-168-10-64 Down
Active 18.06.1-ce
qw84n3ev09yhc30vlmddrwpzb ip-192-168-20-133 Down
Active 18.06.1-ce
togf7g1cv22rol9c9jowj1ioh ip-192-168-30-222 Down
Active 18.06.1-ce
b5mm1cmv2d2jr1dgh5rlr3oqk * manager Ready
Active Leader 18.06.1-ce
Docker Swarm:
Después del scale-in a cero, el
estado de los nodos es ”Down”
13
#!/bin/bash
nodo_down=$(docker node ls | grep Down | sed -n '1p' |
awk '{print $1}')
while [ "$nodo_down" != "" ];
do
nodo_down=$(docker node ls | grep Down | sed -n '1p'
| awk '{print $1}')
docker node rm --force "$nodo_down"
done
Bash Script:
Script para eliminar nodos “down”
del Swarm de nodos. (Instancias en
estado “terminated”)
14
$>WHOAMI
▪ adrianlois@zonasystem.com
▪ https://zonasystem.com
▪ @adrianlois_
15
https://www.youtube.com/watch?v=HzsBiJjgrOo

Más contenido relacionado

La actualidad más candente

Aprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutosAprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutosGonzalo Chacaltana
 
Taller HA y Balanceo de Cargas con NIGX.
Taller HA y Balanceo de Cargas con NIGX.Taller HA y Balanceo de Cargas con NIGX.
Taller HA y Balanceo de Cargas con NIGX.Luis Toscano
 
Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0Fredy Janeta Bastidas
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIker Canarias
 
Manual servicio http bajo linux red hat
Manual servicio http bajo linux red hatManual servicio http bajo linux red hat
Manual servicio http bajo linux red hatyimfer1
 
Dns estatico IPv4 e IPv6 en Debian 8.7.1
Dns estatico IPv4 e IPv6 en Debian 8.7.1Dns estatico IPv4 e IPv6 en Debian 8.7.1
Dns estatico IPv4 e IPv6 en Debian 8.7.1Diego Montiel
 
DNS (Bind) con Fedora.
DNS (Bind) con Fedora.DNS (Bind) con Fedora.
DNS (Bind) con Fedora.Vellidin
 
Instalación Servidor DNS
Instalación Servidor DNSInstalación Servidor DNS
Instalación Servidor DNSSamlith Urbina
 
Configurar un servidor dns (bind) en linux ubuntu (1)
Configurar un servidor dns (bind) en linux ubuntu (1)Configurar un servidor dns (bind) en linux ubuntu (1)
Configurar un servidor dns (bind) en linux ubuntu (1)Marc215567
 
Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...
Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...
Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...Florin Marian Virstiuc
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2symfony_bcn
 
Presentacion Squid
Presentacion SquidPresentacion Squid
Presentacion Squidalexmerono
 
CentOS 6.4 como DNS, Apache, SSL...
CentOS 6.4 como DNS, Apache, SSL...CentOS 6.4 como DNS, Apache, SSL...
CentOS 6.4 como DNS, Apache, SSL...Elvis Vinda
 

La actualidad más candente (20)

Aprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutosAprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutos
 
Taller HA y Balanceo de Cargas con NIGX.
Taller HA y Balanceo de Cargas con NIGX.Taller HA y Balanceo de Cargas con NIGX.
Taller HA y Balanceo de Cargas con NIGX.
 
Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0
 
Configuracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linuxConfiguracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linux
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 
Seguridad de las Redes
Seguridad de las RedesSeguridad de las Redes
Seguridad de las Redes
 
Manual servicio http bajo linux red hat
Manual servicio http bajo linux red hatManual servicio http bajo linux red hat
Manual servicio http bajo linux red hat
 
Dns estatico IPv4 e IPv6 en Debian 8.7.1
Dns estatico IPv4 e IPv6 en Debian 8.7.1Dns estatico IPv4 e IPv6 en Debian 8.7.1
Dns estatico IPv4 e IPv6 en Debian 8.7.1
 
Protocol HTTP
Protocol HTTPProtocol HTTP
Protocol HTTP
 
DNS (Bind) con Fedora.
DNS (Bind) con Fedora.DNS (Bind) con Fedora.
DNS (Bind) con Fedora.
 
Instalación Servidor DNS
Instalación Servidor DNSInstalación Servidor DNS
Instalación Servidor DNS
 
APACHE MYSQL SAMBA
APACHE MYSQL SAMBAAPACHE MYSQL SAMBA
APACHE MYSQL SAMBA
 
Taller de samba
Taller de sambaTaller de samba
Taller de samba
 
Apendice a
Apendice aApendice a
Apendice a
 
Configurar un servidor dns (bind) en linux ubuntu (1)
Configurar un servidor dns (bind) en linux ubuntu (1)Configurar un servidor dns (bind) en linux ubuntu (1)
Configurar un servidor dns (bind) en linux ubuntu (1)
 
Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...
Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...
Resumen INTRODUCCION DE LOS SISTEMAS OPERATIVOS EN RED. REDES LINUX SERVER (T...
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2
 
Presentacion Squid
Presentacion SquidPresentacion Squid
Presentacion Squid
 
CentOS 6.4 como DNS, Apache, SSL...
CentOS 6.4 como DNS, Apache, SSL...CentOS 6.4 como DNS, Apache, SSL...
CentOS 6.4 como DNS, Apache, SSL...
 
Proxy
ProxyProxy
Proxy
 

Similar a Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups y Elastic Load Balancing

Reporte servicios web
Reporte servicios webReporte servicios web
Reporte servicios webFacebook
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerceDavid Ramirez
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4David Ramirez
 
Manual de instalacion servicios en red hat
Manual de instalacion servicios en red hatManual de instalacion servicios en red hat
Manual de instalacion servicios en red hatjcausil1
 
Funcionamiento con my sql
Funcionamiento con my sqlFuncionamiento con my sql
Funcionamiento con my sqldante123456
 
Manual ldap
Manual ldapManual ldap
Manual ldapomarhl2
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBAcyberleon95
 
Samba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPSamba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPiesgrancapitan.org
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvmsuperserch
 
Unidad iii seguridad de redes stew
Unidad iii seguridad de redes stewUnidad iii seguridad de redes stew
Unidad iii seguridad de redes stewsthewardleon
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindioSantiago Bernal
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiTelefónica
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020BelnGonzlezGarca1
 

Similar a Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups y Elastic Load Balancing (20)

Reporte servicios web
Reporte servicios webReporte servicios web
Reporte servicios web
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerce
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4
 
Manual de instalacion servicios en red hat
Manual de instalacion servicios en red hatManual de instalacion servicios en red hat
Manual de instalacion servicios en red hat
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Funcionamiento con my sql
Funcionamiento con my sqlFuncionamiento con my sql
Funcionamiento con my sql
 
Manual ldap
Manual ldapManual ldap
Manual ldap
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBA
 
Samba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPSamba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAP
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvm
 
Unidad iii seguridad de redes stew
Unidad iii seguridad de redes stewUnidad iii seguridad de redes stew
Unidad iii seguridad de redes stew
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindio
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
 
Deploying Wordpress
Deploying WordpressDeploying Wordpress
Deploying Wordpress
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
Seguridad de las redes
Seguridad de las redesSeguridad de las redes
Seguridad de las redes
 
Bd practica 1.10
Bd practica 1.10Bd practica 1.10
Bd practica 1.10
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (16)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups y Elastic Load Balancing

  • 1. Adrián Gómez Lois Administración de Sistemas Informáticos y Redes CIFP A Carballeira - Marcos Valcárcel Noviembre - 2018
  • 2. Creando un Dockerfile ▪ Partirá de una imagen limpia de Debian. ▪ Instalará los paquetes: net-tools, curl, mysql, apache2, php y otros paquetes necesarios relacionados: wget, nano, curl, openssh-server y supervisor. ▪ Creará una BBDD Worpress con usuario y password y le otorgará permisos. ▪ Copiará un contenido de una instalación previamente configurada con un theme personalizado y adaptado de Worpress, asignará el propietario www-data al directorio. ▪ Creará un directorio en el contenedor y copiará en él los certificados SSL para el dominio de la web. (Del dominio “itgal.es” adquirido a través del registrar (registrador) 1&1). ▪ Copiará dos ficheros Virtualhost previamente configurados al servidor Apache2 del contenedor y habilitará los módulos utilizados y necesarios para Apache2. ▪ Creará y configurará un usuario para para la conexión SSH al contenedor. ▪ Establecerá un banner motd personalizado. ▪ Expondrá públicamente los puertos para SSH/22, HTTP/80 y HTTPS/443. ▪ Establecerá como entrypoint (CMD) del contenedor la ejecución de supervisord. 2
  • 3. Subir imagen a Docker Hub 3
  • 4. Diagrama AWS: Docker Swarm, Auto Scaling Group, Elastic Load Balancer 4
  • 5. root@manager:~# docker service create > --name webitgal > --publish 80:80 > --publish 443:443 > --replicas 3 > --update-parallelism 1 > --update-delay 5s > --restart-condition on-failure > adryanaws/webitgal 8eoqdtcmx20mne3iepo2074px overall progress: 3 out of 3 tasks 1/3: running [=========================>] 2/3: running [=========================>] 3/3: running [=========================>] verify: Service converged Docker Swarm: Crear el servicio con tres tareas de réplica en tres nodos desplegados con ASG 5
  • 6. Elastic Load Balancer: Balanceador de carga entre instancias EC2 gestionadas por ASG e instancia fija correspondiente al nodo manager. 6 Crear un registro CNAME en la configuración DNS que apunte al DNS Name del ELB
  • 7. Elastic Load Balancer: Balanceo de carga entre instancias EC2 (nodos Swarm). Para el servicio replicado “webital” <div style="background-color:black;color:white;font- size:1.5em;text-align:center;padding:5px;width:100%"> <?php echo file_get_contents("http://169.254.169.254/latest/meta- data/local-ipv4"); ?> <br /> <?php echo file_get_contents("http://169.254.169.254/latest/meta- data/instance-id"); ?> </div> 7
  • 8. root@manager:~# docker service update --replicas=6 webitgal webitgal overall progress: 6 out of 6 tasks 1/6: running [==================================>] 2/6: running [==================================>] 3/6: running [==================================>] 4/6: running [==================================>] 5/6: running [==================================>] 6/6: running [==================================>] verify: Service converged Docker Swarm: Actualizar el servicio con tres tareas de réplica 8
  • 9. Auto Scaling Group Scale-out en una instancia que se agregará al nodo Swarm 9
  • 10. root@manager:~# docker service update --force webitgal webitgal overall progress: 6 out of 6 tasks 1/6: running [==================================>] 2/6: running [==================================>] 3/6: running [==================================>] 4/6: running [==================================>] 5/6: running [==================================>] 6/6: running [==================================>] verify: Service converged Docker Swarm: Actualización de servicio con las misma tareas de réplicas anteriores, creando así el rebalanceo de carga entre los nodos del Swarm 10
  • 11. root@manager:~# docker service update --replicas=1 webitgal webitgal overall progress: 1 out of 1 tasks 1/1: running [===============================================>] verify: Service converged Docker Swarm: Actualización de servicio para reducir las tareas de réplicas a uno 11
  • 12. Auto Scaling Group Scale-in a cero en todas las instancias desplegadas 12
  • 13. root@manager:~# docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION eyxf2pqhfbprckm6db44761zj ip-192-168-10-64 Down Active 18.06.1-ce qw84n3ev09yhc30vlmddrwpzb ip-192-168-20-133 Down Active 18.06.1-ce togf7g1cv22rol9c9jowj1ioh ip-192-168-30-222 Down Active 18.06.1-ce b5mm1cmv2d2jr1dgh5rlr3oqk * manager Ready Active Leader 18.06.1-ce Docker Swarm: Después del scale-in a cero, el estado de los nodos es ”Down” 13
  • 14. #!/bin/bash nodo_down=$(docker node ls | grep Down | sed -n '1p' | awk '{print $1}') while [ "$nodo_down" != "" ]; do nodo_down=$(docker node ls | grep Down | sed -n '1p' | awk '{print $1}') docker node rm --force "$nodo_down" done Bash Script: Script para eliminar nodos “down” del Swarm de nodos. (Instancias en estado “terminated”) 14
  • 15. $>WHOAMI ▪ adrianlois@zonasystem.com ▪ https://zonasystem.com ▪ @adrianlois_ 15 https://www.youtube.com/watch?v=HzsBiJjgrOo