For the last six months, the Acme Anvil Corporation has been migrating some of their bare metal infrastructure to Docker containers. A schism has developed between the members of your team on whether to use Docker Swarm or Kubernetes. To settle the dispute, your manager has decided to create a series of challenges. You have been tasked with setting up a Docker swarm with 5 nodes: 2 masters and 3 workers. The masters are to be configured to act only as masters. Next, you will create an httpd service with 3 replicas. Finally, you will scale the service up to 5 replicas and then down to 2.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a Swarm
Create a swarm with 2 masters and 3 worker nodes.
Initilize the swarm.
docker swarm init
Use the
join
command to add the 3 worker nodes.docker swarm join --token TOKEN IP_ADDRESS:2377
Generate the master token.
docker swarm join-token manager
- Drain the Masters
Set the availability to
drain
for Master1.docker node update --availability drain MASTER1
Set the availability to
drain
for Master2.docker node update --availability drain MASTER2
- Create a Service
Create a service with 3 replicas.
docker service create --name httpd -p 80:80 --replicas 3 httpd
- Scale the Service up to 5 Replicas
Scale the httpd service up to 5 replicas.
docker service scale httpd=5
- Scale the Service Down to 2 Replicas
Scale the httpd service down to 2 replicas.
docker service scale httpd=2