Docker setup ? CoreOS : Ubuntu 14.04.
Lors du Breizhcamp, j'avais axé mes conférences sur Docker dans l'idée de le mettre en place chez mon employeur actuel (Mobizel).
J'ai donc assisté à plusieurs conférences techniques ou simplement à des retours d'expériences. Vous pouvez les voir (ou les revoir) ici :
https://www.youtube.com/playlist?list=PLHWl6dPnEb4kHfPp5D8CiGNfA64HQs_Hb
ou
https://www.parleys.com/channel/breizh-jug
(Les conférences ne sont pas encore toutes uploadées)
Suite à de nombreuses conférences intéressantes sur le sujet, j'ai pu appréhender correctement les problèmes possibles et j'avais, sans mettre les mains dedans, une bonne idée de comment fonctionne Docker et comment l'utiliser. Je me suis mis à chercher le meilleur moyen de mettre une machine avec Docker sur une de nos VMs (serveur chez ovh avec vsphere, c'est important ;) )
CoreOS
Suite à une recherche sur le sujet, je me penche plus sur CoreOS. Une distribution comprenant l'ensemble des outils pour gérer des containeurs Docker. Parfait !
J'upload donc l'ISO, je lance une nouvelle VM et je me tente une install
- Fail 1 : Pas de connexion sans configuration ip et j'ai pas vraiment l'habitude de ArchLinux surtout avec un clavier qwerty
- Fail 2 : Je fais mon install sans problème, je relance la machine et là, demande de login / password. Je cherche dans la documentation et là, je lis la phrase suivante
but be sure to include user information, especially an SSH key, in a Cloud-Config file, or else you will not be able to log into your CoreOS instance
Ah ... bon, ben je supprime ma VM et je recommence car sans login, ça va être difficile. - Fail 3 : Je configure ma ssh key, je crée mon fichier
cloud-config.yml
. (toujours avec un qwerty) et je relance... Bah oui, mais sans réseau c'est difficile de me connecter avec une clé et il ne me semble pas que la console vsphere permette une connexion par clé (si oui, n'hésitez pas à me le dire ;) )
Le retour aux sources Ubuntu 14.04
Bon après 3 fails, je décide de changer de stratégie et de partir sur une Ubuntu 14.04, même si je sais que le package Docker de base n'est pas à jour...
Environ 5min après la configuration de base d'ubuntu, Docker est en place, je suis content :D.
J'ajoute le TLS et les commandes à distance, pas de problème majeur, j'ai juste suivi la documentation (peut-être 2 ou 3 fois, quand même) :
https://docs.docker.com/articles/https/
Puis je lance mon premier containeur avec un shipyard ;)
https://registry.hub.docker.com/u/shipyard/shipyard/
C'est un outil permettant de lancer des containeurs et de surveiller les ressources allouées à ceux-ci. Sympa mais loin d'être indispensable avec un seul serveur Docker, mais avec une flotte, pourquoi pas ;)
Cependant, il existe d'autres outils sur le marché qui me semblent intéressants, avec des fonctionnalités supplémentaires, du coup je vais continuer de creuser.
Conclusion
Je pense que CoreOS est une distribution intéressante, cependant, je n'ai pas trouvé comment la configurer correctement sur mon vsphere sans DHCP. Je compte bien :
- soit trouver une solution pour le mettre en place, car à terme je souhaite que Docker soit un moyen de production
- Ou me pencher sur une autre distribution type RancherOS qui me semble équivalente.
L'Ubuntu 14.04 est une solution viable, cependant il faudra configurer l'ensemble des outils manuellement et donc prendre le risque de ne pas profiter des mises à jour du système en terme de sécurité aussi rapidement qu'avec une distribution dédiée et oublier la mise en place de certains composants.
Aujourd'hui, nous sommes (chez Mobizel) toujours en phase d'expérimentation de Docker avec notamment un serveur Icinga permettant la surveillance de nos serveurs, mais je vais bientôt vous en parler.
Pierre