docker: containers evolved - dynamic instantiation of microservices

Post on 22-Jan-2018

25.713 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Dynamic instantiation of Microservices

Ignacio Sánchez Ginés@drhelius

Ramón Román Nissen@rromannissen

GRACIAS

m4.2xlarge

m4.large (x2)

m4.large

t2.micro

Nodo 1

Registry

···

Nodo 4

Master

EntryPoint

IndexerServiceBuilder

ImageBuilder

Deployer Notifier

Indexer Deployer

Generacion

dinamica de

servicios

FeignJava API

Construccion

dinamica de

imagenes

EntryPoint

IndexerServiceBuilder

ImageBuilder

Deployer Notifier

Indexer Deployer

Image Builder

Parametrizar Dockerfile

Build Dockerfile

Push Docker Image

Jenkins Slave

FROM java:8

ARG SERVICE_ID

VOLUME /tmp

EXPOSE 8080

ADD

http://a1.codemotion.atsistemas.com/repository/mave

n-releases/com/atsistemas/codemotion/indexed-

service-generated-${SERVICE_ID}/1.0/indexed-

service-generated-${SERVICE_ID}-1.0.jar /indexed-

service.jar

ENV SERVICE_ID=${SERVICE_ID}

RUN bash -c 'touch /indexed-service.jar'

CMD java –Xmx32m –Xss256k -

Djava.security.egd=file:/dev/./urandom

-jar /indexed-service.jar

Despliegue

dinamico en

Swarm

EntryPoint

IndexerServiceBuilder

ImageBuilder

Deployer Notifier

Indexer Deployer

Deployer

Pull Docker Image

Run Docker Image

Reconfiguración NGINX

upstream indexed-service-xxxxxx {

least_conn;

{{range service "indexed-service-xxxxxx"}}server

{{.Address}}:{{.Port}} max_fails=3 fail_timeout=60 weight=1;

{{else}}server 127.0.0.1:65535; # force a 502{{end}}

}

server {

listen 80 default_server;

location /xxxxxx/ {

proxy_pass http://indexed-service-xxxxxx/;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

}

docker -H :2375 pull 10.0.0.223:9022/ indexed-service-

xxxxxx

docker -H :2375 run -d -P –e reschedule:on-node-failure

10.0.0.223:9022/indexed-service-xxxxxx

docker -H :2375 info

docker -H :2375 ps

Now witness the

firepower of this fully

ARMED and

OPERATIONAL Battle

Station!

The Emperor – Project Manager

Servicio:

Consulta:

¡GRACIAS!¿ALGUNA PREGUNTA?

Ignacio Sánchez Ginés@drheliusisanchez.gines@atsistemas.com

Ramón Román Nissen@rromannissenrroman@atsistemas.com

top related