Top Banner
Containers Cluster Docker Swarm
31

Docker Swarm Cluster

Jan 12, 2017

Download

Technology

Fernando Ike
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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