5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
Workshop mesos docker devoxx fr 2016
1. #DevoxxFR
Déploiement d'une app distribuée sur
Mesos avec Docker, Marathon et
MesosDNS
Cyril Collen @sxarvipa
Bertrand Dickelé @bdickele
Julia Mateo @juliamateodc
1
3. #DevoxxFR
1ère partie du workshop
3
•Présenter cm-voting, une webapp distribuée
•Déployer cm-voting avec docker links
•Déployer cm-voting avec docker compose
16. #DevoxxFR
Système de déploiement
• Système de déploiement “intelligent”
• Ansible, Chef, Puppet… -> configuration statique
• Mesos assigne dynamiquement les resources en
fonction de la charge du cluster (ou d’autres facteurs
externes)
16
Qu’est-ce Mesos?
17. #DevoxxFR
Plateforme d’exécution
• Hosting d’applications plus flexible :
Si un slave tombe, l’application est déployée sur une
nouvelle instance (framework Marathon)
• HAProxy pour faire du load balancing
• Alternative aux solutions Paas payantes (Heroku,
Azure, Openshift...)
17
Qu’est-ce Mesos?
20. #DevoxxFR
Mesos frameworks :
Marathon
20
•Marathon est un framework Mesos écrit en Scala
•Fournit un moyen facile pour déployer des conteneurs
Docker
•Gestion d’applications à haute disponibilité
•Rest API orientée développeurs
35. #DevoxxFR
Is MesosDNS working?
• Add this line to the beginning of /etc/resolv.conf :
nameserver 10.0.2.15
• Ask MesosDNS for Mongo service
>> dig mongo.marathon.mesos
>> dig _mongo._tcp.marathon.mesos SRV
35
38. #DevoxxFR
Load balancing : lb-
marathon
38
•Outil qui gère HAProxy
•Il se souscrit à l’event bus de Marathon
•Il met à jour la configuration du HAProxy en temps réel
•Health checking
•SSL support
40. #DevoxxFR 40
GESTION DU FAILOVER LENT
NO HEALTH CHECKING
LES REQUETES PEUVENT ETRE
MISES EN CACHE
SERVICE PORTS NON IDENTIFIABLES
MesosDNS drawbacks
42. #DevoxxFR
• Multitenant workloads : isolation faible -> la
performance d’une app peut être impactée par une
autre app (plusieures apps s’exécutent sur la même
machine)
• Support pour les bases de données (Cassandra, HDFS,
Kafka…) Jusqu’à maintenant mesos -> tâches orientées
calculs. Gestion améliorée du disque.
42
Future<Mesos>