~~REVEAL~~ ====== Docker Swarm ====== Docker Swarm és el què es coneix com un **orquestrador de contenidors**, a l'igual que Kubernetes, només que aquest darrer és més potent (i més complicat). Els orquestradors ens permeten gestionar les instàncies de contenidors distribuïdes en diverses màquines físiques (o virtuals), pel què **els orquestradors son una eina imprescindible per a la gestió de l'escalabilitat i alta disponibilitat de les aplicacions actuals**. Docker Swarm ve actualment inclosa dins el propi Docker Engine, així que no ens cal instal·lar res més que el propi motor de Docker per iniciar els nodes en mode Swarm, facilitant la posada en marxa. {{ docker-swarm-1.png?450 }} {{tag> #FpInfor #Ciber #CiberMp03 #Ceti #CetiMp03 docker swarm contenidors lxc DevOps }} ==== Referències ==== * [[Docker]] * [[Docker-compose]] * [[Dockerfile]] * [[https://docs.docker.com/engine/swarm/swarm-mode/|Crear un swarm (doc oficial)]] * [[https://docs.docker.com/engine/swarm/services/|Primers serveis]] Continua a: * [[Docker Swarm Stacks]] ===== Arquitectura ====== En Docker Swarm disposem de 2 tipus de nodes (VMs): * **//managers//**: gestionen el Swarm. * **//workers//**: executen els contenidors. {{docker-swarm-arquitectura.png?direct}} ===== Stack ===== El Swarm es basa en **serveis que definirem mitjançant un docker-stack.yml**, molt similar a ''docker-compose'', i replicarem segons convingui per augmentar les prestacions. **Cada node disposa d'un //load balancer//** que ens permetrà accedir indistintament als serveis a través de qualsevol node. Els mateixos //load balancers// decidiran com redirigir el trànsit en base als valors interns de càrrega de la CPU dels nodes, etc. {{docker-swarm-3-nodes.png?direct}} \\ ===== Crear un Swarm mínim amb Vagrantfile ===== Aquest Vagrantfile et crearà un Docker Swarm amb 1 //manager// i 2 //workers// (el //manager// també accepta tasques de //worker//). $install_docker_script = <