Déploiement d un cluster DCOS sur Azure
Il y a quelques semaines, Microsoft a annoncé sa participation au projet Open Source DC/OS et a rejoint Mesosphere et un ensemble de partenaires industriels réunis autour de ce projet. Le même jour était annoncé la disponibilité en GA (Globally Available) d’Azure Container Services.
A l’image d’un système d’exploitation pour poste de travail ou pour serveur, un DCOS se positionne sur un serveur nu, une instance de cloud ou des machines virtuelles. Il joue des rôles d’orchestration, de monitoring, de gestion réseau ou encore de sécurité pur faire tourner dans le centre de données des modules aussi divers que de l’Hadoop ou du conteneur. (Source : Mesosphere).
L’objectif de ce billet est de découvrir comment déployer en quelques minutes un cluster DC/OS sur Azure.
Il existe deux façons d’installer DC/OS sur Azure :
1- Depuis le MarketPlace d’Azure via un modèle ARM
2- Via le service Azure Container Service (avec différents modèles destinés à différents usages)
Nous allons voir ici comment installer DC/OS via le MarketPlace d’Azure.
Pré-requis : avoir un abonnement Azure et une clé SSH
Rechercher DC/OS on Azure dans le MarketPlace d’Azure
Cliquer sur Create
Sélectionner le nombre d’agents Mesos (Cattle) : de 1 à 100
Saisir le préfixe du nom DNS des serveurs Master (Pet) ainsi que le préfixe DNS des machines agents (Cattle)
Copier / Coller sa clé SSH publique et choisir ou créer un groupe de ressource qui va contenir toutes les ressources de ce cluster.
Par défaut, ce modèle ne propose pas la taille des VM à utiliser. Si on choisit d’exporter le modèle ARM, on peut voir dans le fichier JSON que ce sont des VM de type Standard_D2. Il est donc possible de modifier le modèle pour l’adapter à ses besoins et son budget.
Cliquer sur Purchase puis partir boire un bon café et reprendre une activité sociale 🙂
Le déploiement dure entre dix et quinze minutes.
A l’issue, vous pouvez aller voir votre groupe de ressources et découvrir l’ensemble des composants du Cluster DCOS
Pour vous connecter, il faut récupérer le FQDN du groupe Master
Puis depuis votre station d’administration (dans mon cas ici un Windows 10 Insider Preview avec le Windows Subsystem for Linux) , ouvrir une connexion SSH avec la commande suivante (changer le FQDN par celui trouvé ci dessus):
ssh azureuser@dcosmasters.westus.cloudapp.net -p 2200 -L 8000:localhost:80
Ensuite, ouvrir un bon navigateur Web et se connecter sur http://localhost:8000
Se signer avec un compte Google, GitHub ou Microsoft.
Et voici le portail DCOS
Il ne reste plus qu’à découvrir les joies de DCOS et cette nouvelle vision du Datacenter as a Computer.
Informations complémentaires :
Microsoft joins the new DC/OS open source project
https://azure.microsoft.com/en-us/blog/microsoft-joins-the-new-dc-os-open-source-project/
Run Containers in Production on Azure
https://mesosphere.com/azure/
DC/OS
https://dcos.io/
Mesosphere raises $73.5M Series C led by HPE, with Microsoft as strategic investor
http://techcrunch.com/2016/03/24/mesosphere-raises-73-5m-series-c-led-by-hpe-with-microsoft-as-strategic-investor/
DCOS usage
https://dcos.io/docs/1.7/usage/
Pour ceux qui préfèrent déployer un cluster Docker Swarm, Julien a écrit un article ici
Sébastien DOLLARD
J’ai déployé un DCOS en phase de testing j’ai plusieurs question Stanislas
– Il y a-t-il un surcoût en plus de la VM ou des VM utilisée (d’ailleurs peut-on avoir un schéma du déploiement exact qui est réalisé, nombre de VM etc..)
– dois-t-on obligatoirement passer par le forwarding pour se connecter au DC/OS ne peut-on pas accéder au portail de manière normale
– concernant le déploiement d’application comment se passe du coup les accès, exemple je veux déployer un kafka mais mes application dans azure ou on-premise doivent y accéder Quid des connexions ?
Merci
PS: excellent article, j’ai réussit le déploiement au second essai (pb avec mes clé publique SSH car avec bash-windows il y quelques astuces à trouver
squastana
Bonjour Sébastien
Désolé par la réponse tardive, je n’avais pas reçu la notification du commentaire 🙂
Il y a-t-il un surcoût en plus de la VM ou des VM utilisée (d’ailleurs peut-on avoir un schéma du déploiement exact qui est réalisé, nombre de VM etc..) ==> le détail du déploiement est disponible ici : https://github.com/Azure/azure-quickstart-templates/blob/master/101-acs-dcos/docs/DCOSWalkthrough.md. Le nombre de VM se calcule en additionnant la nombre de VM qui ont le rôle de master et le nombre de VM ayant le rôle de slaves. Le coût d’utilisation va se calculer avec le nombre d’heure d’exécution des VM + la volumétrie de stockage associé + le traffic réséau (si celui ci est important). Par défaut les VM utilisées ont une taille D2 (2 coeurs CPU). Pour évaluer le coût en fonction du nombre de VM, de leur taille, du stockage et du réseau je vous encourage à utiliser la calculatrice des coûts Azure : http://azure.microsoft.com/en-us/pricing/calculator/
Dois-t-on obligatoirement passer par le forwarding pour se connecter au DC/OS ne peut-on pas accéder au portail de manière normale ==> Je pense que par défaut il faut passer par le forwarding mais on doit pouvoir exposer le service directement (bien que je ne l’ai pas testé)
concernant le déploiement d’application comment se passe du coup les accès, exemple je veux déployer un kafka mais mes application dans azure ou on-premise doivent y accéder Quid des connexions ? ==> 2 options sont possible pour interconnecter le datacenter sur site et Azure. Option 1 : un VPN Site à Site (avec une bande passante max de 200 mbps et pas de garantie de service réseau). Option 2 : utiliser Express Route avec un déploiement de type MPLS ou connexion à un point d’Exchange. Dans le cas d’usage d’Express Route, un SLA au niveau de la bande passante réseau peut être garanti et celle-ci peut monter à 10 Gbps. Plus d’infos sur les passerelles : https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-about-vpn-gateway-settings/
Content que le tutoriel a bien fonctionné 😉
Cordialement
Sébastien DOLLARD
Bonjour Stéphane, merci pour ta réponse, je reviens justement sur le sujet kafka car je vais lancer le POC
Ma question concernant les applications n’était pas assez précise, en effet mes applications sont situées dans Azure sur des Groupes de ressources séparés du DC/OS dans des sous-réseau différents, dois-je utiliser un VPN ou puis-je attaquer le DC via des ports ouvert en fonction de mes applications ?
Merci
Sébastien DOLLARD
PS le lien: https://github.com/Azure/azure-quickstart-templates/blob/master/101-acs-dcos/docs/DCOSWalkthrough.md
ne fonctionne plus 🙁
squastana
Je pense qu’il faut regarder ici : https://dcos.io/docs/1.8/administration/installing/cloud/azure/