Je vous propose de jouer avec la version Docker Edge (version expérimentale la plus récente : Docker Community Edition 17.05.0-ce), pour découvrir ensemble les fonctionnalités Docker Cloud sur AWS, l’offre Cloud d’Amazon, en mettant en oeuvre un cluster Docker Swarm.
Au cours de ce tutorial, je vais réaliser les étapes suivantes :
Pour installer Docker for Mac Edge CE, il suffit de désinstaller la version courante, puis de demander l’installation de docker-edge :
brew cask install caskroom/versions/docker-edge
Je n’ai pas réussi à trouver comment installer docker-edge sur Linux ou Windows ?
Une fois installer, vous avez un nouveau menu, contenant de nouvelles options, dont l’option Swarm, sélectionner alors le sous menu create, qui va ouvrir votre navigateur et pointer vers Docker Cloud, je vais sélectionner Amazon AWS, afin de lier Docker Cloud à mon compte AWS.
Il faut saisir un AWS Credential, le Role delegation ARN.
La procédure complète pour lier Docker Cloud et AWS, voici mon pas à pas.
Je dois me connecter à la Console AWS et créer un nouveau rôle :
Choisir un rôle d’accès entre compte :
Sélectionner AWS tier d’accéder à ce compte, voici la procédure IAM Permission
Une fois la procédure achevée, on a enfin l’ARN Credential :
Il ne reste plus qu’à le saisir dans la configuration Docker Swarm Cloud :
Pour finir avec la Console AWS, je crée une clé SSH, dans le menu Réseau et Sécurité :
Dans la page de setup de Docker Swarm Cloud, je donne un nom au Cluster Docker Swarm :
Puis, je choisis la région du datacenter :
Enfin, je sélectionne :
Pour finir, je valide en cliquant le bouton “Create”.
Le cluster Docker Swarm est en cours de création.
Dans la console AWS, on peut contrôler la création des 3 noeuds Docker Swarm :
Dans le menu Docker j’ai maintenant accès à mon cluster Docker Swarm Cloud sur AWS :
J’ouvre la console SSH d’accès à mon cluster Swarm en cliquant dessus. Je vais cloner le repo Github de l’application de vote que Docker propose en exemple : Voting App
git clone https://github.com/docker/example-voting-app
cd example-voting-app
docker stack deploy --compose-file=docker-stack.yml voting_stack
Voici la console :
Cette Web App ouvre 3 ports TCP :
Il faut autoriser l’accès aux 3 ports depuis l’extérieur sur l’ip du master node dans la Policy Manager SecurityGroup :
J’ai alors accès au SWARM VISUALIZER :
Et voilà !!!
Dans la console Docker Cloud, il suffit de “Terminer” le cluster
Je peux suivre en parallèle la destruction des noeuds du Cluster Docker Swarm :
Pour réaliser l’ensemble des étapes, j’ai mis 15 minutes pour mettre en oeuvre le Cluster, toute la documentation est disponible ici : https://docs.docker.com/docker-cloud/cloud-swarm/