Aquesta és una revisió antiga del document
Native Docker clustering with Swarm
chap1
- boot2docker:
- distribución Linux ligera desarrollada para Docker
- corre totalmente en RAM
- tarda 5 segundos en arrancar
- arranca con Docker TLS en :2376
- para desarrollo y test
- docker-machine
docker-machine create –driver virtualbox node0
- permite otros proveedores (AWS,Azure,DigitalOcean
- los autores del libro tienen un wrapper para hablar con DigitalOcean: https://github.com/chanwit/belt
eval $(docker-machine env node0)
: te configura el entorno para trabajar con el demonio docker de node0 (en este caso)docker-machine ls
docker-machine active
docker-machine ssh node0 ps aux | grep docker
- swarm:
- nodes://: conectar nodos directamente por sus IPs (aprendizaje)
chap2: discovery services
- necesidad de disponer de un servicio de descubrimiento para localizar aquello que buscas
- con pocos nodos y configuraciones simples no sería necesario, tu sabes donde está todo aquello que necesitas
- con muchos nodos, cambiantes, y cientos de contenedores, es imposible de gestionar (cambian dinámicamente de IP, por ejemplo)
- existen muchos, pero todos ellos requieren:
- sistemas distribuidos en todos los nodos
- escalables
- tolerancia a fallos
- registro
- anunciar
- almacenaje key-value
- swarm v1
- no integra uno propio
- integrar el tuyo propio a través de libkv
- token
- Consul
- Etcd (se ha acabado integrando)
- ZooKeeper
token
docker run … token://$TOKEN
- requiere conexión a internet de los nodos y acceso a Docker Hub
- se ha de generar un UUID de swarm (
swarm create
) - se utiliza para unir nodos y hablar con el manager
- se acabará deprecando
raft
- algoritmo para consensuar en sistemas distribuidos la elección del lider y la consistencia de los valores
- otro: paxos (más complejo y difícil de comprender)
- raft: Consul, Etcd
- paxos: ZooKeeper
(pag 52)