Sujet :

Mettre en place un cluster de calcul

RÉSOLU

Liste des sujets Répondre Créer un sujet

Pacintosh

Membre depuis le 13/05/2020

actif

Bonjour,

Je suis informaticien dans un laboratoire de recherche sur Grenoble.
J'ai pour mission d'installer un cluster de calcul mutualisé (1 noeud maitre et 16 noeuds de calculs) pour les chercheurs théoriciens.

Je suis donc à la recherche d'un maximum d'information pour me permettre d'aider à mettre en place une solution la plus automatisée possible et ainsi m'éviter de passer du temps à maintenir les problèmes de mise à jour des librairies et des programmes.

J'avais pensé à utiliser Cobbler pour installer à distance mes noeuds et Ansible pour déployer par la suite les applications et les librairies de calculs.

Mais je m'aperçois que Docker est aussi intéressant.

Pourriez-vous m'éclairer sur tout ça ?

En vous remerciant par avance de votre aide.

ajdaini-hatim

Membre depuis le 11/05/2019

rédacteur

De rien, bon courage pour ton projet 🤞 !

Pacintosh

Membre depuis le 13/05/2020

actif

Effectivement je vais me passer de Vagrant car j’ai des machines physique, mais pour le reste c’est exactement ce q’il me faut.

Merci d’avoir pris le peine de détailler leur fonctionnalité, c’est parfait !

ajdaini-hatim

Membre depuis le 11/05/2019

rédacteur

@Pacintosh Haha, ne t'inquiète pas je t'explique tout cela 😄, alors :

  • Vagrant : utilisé pour créer tes machines virtuelles, c'est à dire que tu vas spécifier les ressources de tes VMs en matière de RAM, CPU, Stockage, Réseau et l'OS à utiliser.
  • Ansible : utilisé pour automatiser la configuration de tes VMs, c'est-à-dire que créera un playbook qui installera et configurera les différents softwares sur tes VMs.
  • Kubernetes : utilisé pour orchestrer tes conteneurs notamment les conteneurs de type Docker, c'est-à-dire que tu vas plus facilement gérer et manipuler une grosse quantité de conteneurs.
  • Docker : c'est l'outil qui te permet de créer tes conteneurs. Un conteneur c'est tout simplement  un ou plusieurs programme(s)  isolées du système hôte sur lequel ils s'exécutent.

Un exemple sera je pense plus parlant. Dans ton cas imaginons qu'on te demande de gérer plusieurs conteneurs, voici un exemple de workflow à suivre :

  1. J'utilise Vagrant pour créer mon cluster
  2. J'utilise Ansible pour installer et configurer l'outil kubernetes sur mon cluster
  3. J'utilise Kubernetes pour gérer mes conteneurs Docker
  4. J'utilise Docker pour créer mes conteneurs qui seront ensuite gérés par Kubernetes

Mais vu que tu as des serveurs physiques tu n'as pas besoin de Vagrant tu peux utiliser seulement le reste des outils que j'ai mentionnés dans ce commentaire.

modifié le

Pacintosh

Membre depuis le 13/05/2020

actif

J'ai lu tous les différents articles, mais j'avoue, je m'embrouille entre Cobbler/Kubernets/Ansible/Vagrant/Docker.

Par exemple, Vagrant est plutôt dédié à faire de la virtualisation, alors que j'ai 16 noeuds physiques.

Techniquement, j'ai un serveur Maitre physique depuis lequel je voudrais installer automatiquement mes 16 autres noeuds de calcul physiques via le réseau afin qu'ils soient totalement identiques. Par la suite, je souhaite également réfléchir sur un outil qui me permettrait de mettre à jour ou d'installer de nouvelles applis automatiquement sur toutes ces machines en cas de besoin.

Désolé pour toutes ces questions.

Merci.

Pacintosh

Membre depuis le 13/05/2020

actif

Super, merci beaucoup pour votre retour c'est top.

Je vais étudier tout ça attentivement.

Encore merci.

ajdaini-hatim

Membre depuis le 11/05/2019

rédacteur

Bonjour @Pacintosh merci pour votre message,

Pour répondre à tes questions :

1. "1 noeud maitre et 16 noeuds de calculs"

Tu peux utiliser de l'Infa As Code pour provisionner automatiquement vos machines. Concernant les articles que j'ai publiés sur ce sujet, j'ai déjà eu l'occasion d'utiliser Vagrant combiné avec Ansible pour créer mon cluster Kubernetes : https://devopssec.fr/article/creer-cluster-kubernetes-multi-noeud-vagrant-ansible

2. "J'avais pensé à utiliser Cobbler pour installer à distance mes noeuds et Ansible pour déployer par la suite les applications et les librairies de calculs. Mais je m'aperçois que Docker est aussi intéressant."

En effet Docker peut être une bonne solution pour déployer tes applications. De plus, vu la taille votre infrastructure je te conseille vivement d'utiliser un cluster kubernetes afin d'orchestrer plus facilement tes conteneurs. Tu trouveras mon cours complet ici : https://devopssec.fr/category/apprendre-kubernetes

Hatim.

Répondre

vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire