J’ai entendu parler de Docker depuis quelques années sans vraiment m’y intéresser (peut être que j’avais des choses plus importante à savoir étant junior). Lors de notre visite au .Next Nutanix à Vienne, nos chers SE France nous ont fait une démonstration de la puissance de Docker sous Nutanix. Grâce à Acropolis Hypervisor (AHV) et son driver docker, il est possible de comprendre plus facilement le déploiement de containers. Cet article montre l’installation et la configuration basique de Docker sur une infrastructure Nutanix AHV.
Avant toute chose, voici notre infrastructure :
- Cluster Nutanix (3 nodes) Community Edition
- Un seul VLAN et plan d’adressage (DHCP géré par Nutanix)
- Mon laptop sous Windows 10
La capture suivante montre les liens entre les différentes entités :
- Laptop : Permet la gestion des Docker-Host
- Docker-Host : Machine virtuelle où est installé Docker, qui partage son kernel avec ses containers.
- Container : milieu où réside notre application (apache / db / haproxy….)
Installation Docker & Nutanix Tools
L’installation des paquets nécessaires à l’utilisation de la fonction “docker-machine” se fera par le biais de l’outil Chocolatey. Il fonctionne plus où moins de la même manière qu’un “apt-get” et permet de packager de nombreux outils. Dans notre cas présent, nous avons besoin de “docker-machine” ainsi que “openssh”.
Pour l’installer, ouvrir un invite de commande (cmd) en administrateur de votre laptop et faire :
1 |
@powershell -NoProfile -ExecutionPolicy remotesigned -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin |
L’outil Chocolatey est installé mais il faut que la variable d’environnement (PATH) soit mis à jour. Faites donc un “refreshenv” ou redémarrez votre cmd.
Pour openssh sur Windows (qui sera utile pour se connecter directement à nos Docker-Host), il suffit de passer la commande ci-dessous. Attention, divers Openssh sont disponibles sur le net et ne sont pas forcément fonctionnels (pour avoir eu des galères). De nouveau il faut un refresh du PATH, ensuite tapez ssh pour être certain que c’est fonctionnel.
1 |
choco install –y mls-software-openssh |
En tapant : “choco search docker”, on s’intéresse à l’encadré rouge (voir capture) car nous ne ferons pas tourner des containers en local sur notre poste. Ce paquet nous permet de déployer directement des Docker-Host sur Nutanix. La commande install nous renvoie directement vers le dernier paquet approuvé :
1 2 |
choco install -y docker-machine choco install -y docker |
Une fois installé, on peut taper : “docker version” afin d’être certain d’avoir terminé notre setup.
Votre client sur votre Laptop est prêt quasiment prêt pour le déploiement de Docker Host. Il faut maintenant rajouter le driver Nutanix afin de déployer ces Host sur notre cluster Acropolis Hypervisor. Connectez-vous sur le portail Nutanix > Downloads > Tools & Firmware, tapez “Docker” dans la barre de recherche afin de filtrer les résultats.
Votre nouveau Plugin copié et dans le dossier : “C:\ProgramData\chocolatey\bin\”. Tous les outils sont réunis pour se mettre au travail !
Install/deploy Host Image
Nutanix met à disposition l’image disk d’un Docker-Host sur le portail, au même emplacement que le plugin Nutanix (voir capture du point précédent).
L’image est disponible en format “qcow2”, vous serez alors capable d’ajouter ce disque dans l’Image Service du cluster Nutanix (capture ci-contre). Faites attention au nom de cette image car il sera utiliser lors du déploiement d’un Docker-Host.
Voici la commande de création d’un Docker-Host. La commande est composé des arguments suivants :
- -d nutanix : utilisation du driver nutanix (Windows)
- –nutanix username : un compte administrator dans Prism
- –nutanix-password : votre mot de passe
- –nutanix-endpoint : l’adresse IP ou le FQDN de votre vIP du cluster
- –nutanix-vm-image : le nom de votre image Docker Host uploadée dans l’Image Service Nutanix
- –nutanix-vm-network : le nom de votre VLAN destination (capture ci-contre)
- –nutanix-vm-cpus : le nombre de sockets alloués à votre Docker Host (par défaut 1)
- –nutanix-vm-cores : le nombre de cores alloués à votre Docker Host (par défaut 1)
- –nutanix-vm-mem : la RAM allouées (en Mo alors que précisé en Go sur le portail / par défaut 1)
- Enfin le dernier argument est le nom de votre Host
1 |
docker-machine create -d nutanix --nutanix-username admin --nutanix-password PASSW0RD --nutanix-endpoint prism.nutelab.local:9440 --nutanix-vm-image Docker_Host --nutanix-vm-network SUR-LAB --nutanix-vm-cpus 2 --nutanix-vm-cores 2 --nutanix-vm-mem 8192 Docker-Host-1 |
Afin de vérifier la création de votre nouvel hôte, essayez les commandes suivantes :
1 2 3 4 5 6 7 8 9 10 11 12 |
##List Docker Hosts docker-machine ls ##Remove Docker Host docker-machine rm Docker-Host-1 -f ##Docker Host informations docker-machine inspect Docker-Host-1 docker-machine config Docker-Host-1 ##Access your Docker Host docker-machine ssh Docker-Host-1 |
Au niveau Prism, on voit notre élément qui a été fraîchement ajouté :
Vous voici prêt à créer votre premier container ! On peut remarquer que notre hôte est en version 1.12.1 et que ce dernier utilise le driver Nutanix. En accédant en ssh à votre Docker Host, vous allez être capable de lancer votre première commande “docker run”. La partie 2 présente un tutoriel pour comprendre comment déployer vos container avec plusieurs commandes utiles.
1 Response
[…] / openssh (et le driver Nutanix sur le portal du support). Pour plus d’informations : LIEN. Vous pouvez voir dans les captures suivantes que notre docker-machine n’a pas connaissance […]