Divide y vencerás con docker y core os

15
Divide y vencerás con Docker y CoreOS Juan Carlos Rodriguez Rivas David Luque Quintana

Transcript of Divide y vencerás con docker y core os

Page 1: Divide y vencerás con docker y core os

Divide y vencerás con Docker y CoreOS

Juan Carlos Rodriguez RivasDavid Luque Quintana

Page 3: Divide y vencerás con docker y core os

¿Qué es Docker?

● Herramienta para el desarrollo, despliegue y funcionamiento de aplicaciones distribuidas.

● Contenedores con una determinada funcionalidad.

● Portable y flexible.● Fácilmente escalable.

Page 4: Divide y vencerás con docker y core os

¿Por qué Docker?

● Necesitamos deploy “sencillo”.● Sistema Operativo coreOS → No instalar nada.● Posible migración en el futuro.● Aprendizaje.

Page 5: Divide y vencerás con docker y core os

¿core que?

coreOS es un SO preparado para servidores de desarrollo masivos. Es un nuevo paso en el desarrollo de infraestructuras.

Page 6: Divide y vencerás con docker y core os

¿core que?

Page 7: Divide y vencerás con docker y core os

Idea original

Crear SHARD de MongoDB

Page 8: Divide y vencerás con docker y core os

Idea original

Page 9: Divide y vencerás con docker y core os

Idea original

Page 10: Divide y vencerás con docker y core os

Idea final

Page 11: Divide y vencerás con docker y core os

Controlando el cluster

coreOS contiene una herramienta muy útil para la hora de manejar el cluster. Con fleet podemos hacer funcionar servicios contenidos en el cluster sin tener que entrar en el mismo

Page 12: Divide y vencerás con docker y core os

Fleetctl

● Tunel SSH

export FLEETCTL_TUNNEL=127.0.0.1:2222

● Clave SSH

ssh-add ~/.vagrant.d/insecure_private_key

● Primer comando

Page 13: Divide y vencerás con docker y core os

Fleetctl

● Listar servicios

● Mis servicios

Page 14: Divide y vencerás con docker y core os

Servicios vagrant

Es una forma simple de ejecutar contenedores de Docker en coreOS bajo Vagrant

Page 15: Divide y vencerás con docker y core os

Linkeando contenedores

Se realiza un script que invoque los servicios de Docker. Primero hay que invocar al de MongoDB ya que si se hace primero con el de Node.js va a haber error de ejecución.

● Crear contenedor de Mongo

docker run -d --name mongo piggate/mongo

● Crear contenedor de Node

docker run -p 80:80 -d --name node --link mongo:mongo piggate/node