31
Containers Cluster Docker Swarm

Docker Swarm Cluster

Embed Size (px)

Citation preview

Page 1: Docker Swarm Cluster

Containers Cluster

Docker Swarm

Page 3: Docker Swarm Cluster
Page 4: Docker Swarm Cluster
Page 5: Docker Swarm Cluster

Docker Swarm

Docker Swarm e Swarmkit são "AS" ferramentas de gerenciamento de clusters nativo (Engine 1.12) para containers Docker.

Page 6: Docker Swarm Cluster

Bacanices● Gerenciamento de cluster integrado com Docker Engine

● Escalável

● Modelo Declarativo de serviço

● Multihost

● Service Discovery

● Balanceamento de carga

● TLS habilitado por padrão

● Rolling Updates

● Compatível com versões anteriores

Page 7: Docker Swarm Cluster

O que é "Containers Orchestration"

Page 8: Docker Swarm Cluster

Orquestração de containers

“Automação contínua, scheduling, coordenação e gerenciamento de sistemas complexos de componentes em

containers e os recursos por eles consumidos"

Karl Isenberg

Page 9: Docker Swarm Cluster

"Container Orchestration Systems"● Docker Swarm

● CoreOS Fleet

● Kubernetes

● Mesosphere Marathon

● Cloud Foundry Diego

Page 10: Docker Swarm Cluster

Manager e Workers

Page 11: Docker Swarm Cluster

Managers● Gerencia todos os nós de cluster Swarm

● Algoritmo Raft Consensus

● Managers podem ser usados como Workers

● Não use todos os nós como Managers

● Managers também pode ser Workers

Page 12: Docker Swarm Cluster

Workers● Workers são os nodes que "rodam" os containers "fim"

● Eles não participam das eleições dos managers

● Eles podem ser promovidos à manager

● Não há um limite de Workers

Page 13: Docker Swarm Cluster

Raft ConsensusAlgoritmo para "resolver o problema" de Managers elege o líder

Líder é responsável por enviar o status entre todos os managers

Caso o líder caia, uma nova eleição é realizado com os restantes

Page 14: Docker Swarm Cluster

Service Discovery

Page 15: Docker Swarm Cluster

Preparando a instalação

Page 16: Docker Swarm Cluster
Page 17: Docker Swarm Cluster

$for N in $(seq 1 4); do docker-machine create -d virtualbox node$N; done

Docker-Machine

Page 18: Docker Swarm Cluster

$docker-machine ssh node1$docker-machine ssh node2$docker-machine ssh node3$docker-machine ssh node4

No baremetal

Page 19: Docker Swarm Cluster

$docker info|grep Swarm

Check Swarm

Page 20: Docker Swarm Cluster

$docker-machine ip node1

$docker swarm init --advertise-addr 192.168.99.100

Iniciando o cluster

Page 21: Docker Swarm Cluster

$docker swarm join \ --token TOKEN_SWARM \ 192.168.99.100:2377

Adicionando um node

Page 22: Docker Swarm Cluster

$docker node ls && \ docker node promote node3 && \

docker node ls

Criando rede wordpress

Page 23: Docker Swarm Cluster

$docker network create --driver overlay wordpress &&\ docker network ls

Promovendo um Worker para Manager

Page 24: Docker Swarm Cluster

$docker service create --name mysql \ --network wordpress \ --env MYSQL_ROOT_PASSWORD=wordpress \ --env MYSQL_DATABASE=wordpress \ --env MYSQL_USER=wordpress \ --env MYSQL_PASSWORD=wordpress mysql

Wordpress

Page 25: Docker Swarm Cluster

$docker service create --name wordpress \ --network wordpress \ --env WORDPRESS_DB_HOST=mysql:3306 \ --env WORDPRESS_DB_PASSWORD=wordpress \ --publish 8000:80 wordpress

$docker service ls

MySQL

Page 26: Docker Swarm Cluster

$curl || firefox http://IP_NODE1:8000/$curl || firefox http://IP_NODE2:8000/$curl || firefox http://IP_NODE3:8000/

$docker service ps wordpress

Testando...

Page 27: Docker Swarm Cluster

$docker service rm wordpress

Removendo serviço

Page 28: Docker Swarm Cluster

Links

1. https://commons.wikimedia.org/wiki/File:Tanjong_Pagar_container_terminal_from_Asia_Square._(13947299293).jpg

2. https://en.wikipedia.org/wiki/File:Container_terminal_northport.jpg

3. https://en.wikipedia.org/wiki/File:BNSF_5216_West_Kingman_Canyon_AZ_(293094839).jpg

4. http://pt.slideshare.net/KarlIsenberg/container-orchestration-wars

5. http://thesecretlivesofdata.com/raft/

6. http://www.slideshare.net/jfnredes/what-you-need-to-do-containers-orchestration-interdevops-2016-sp

7. http://www.slideshare.net/linux.rafa/docker-112-swarm-mode?qid=c6eea02a-ba53-418e-8900-2b01423dfd4b&v=&b=&from_search=3

Page 30: Docker Swarm Cluster

Bônus

Page 31: Docker Swarm Cluster

Bônus● Discovery Service

● Schedule

● Storage

● HealthCheck

● Segurança - TLS

● Mesh

● Rebalance