Nomad

L'orchestrateur Nomad : serveurs et clients, la hiérarchie job, group, task, les pilotes, les trois types de job, le fichier HCL, nomad job plan et run, évaluation et allocation, et la correspondance avec Kubernetes.

  • 27 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Job : de quoi s'agit-il ?

    Voir la réponse

    Description complète d'une charge de travail dans Nomad, écrite dans un fichier HCL : son type, ses groupes et leurs tâches.

    C'est l'état désiré, comme un manifeste Kubernetes : on le soumet, et Nomad se charge de l'amener à l'état réel.

  • Dans un cluster Nomad, quel est le rôle des serveurs ?

    • Garder l'état du cluster et décider des placements ; les clients exécutent les tâches
    • Exécuter les jobs de type service ; les clients exécutent ceux de type batch
    • Héberger les images que les clients tirent avant de lancer leurs tâches
    • Répartir le trafic HTTP entrant entre les allocations des clients
    Voir la réponse

    Garder l'état du cluster et décider des placements ; les clients exécutent les tâches

    Les serveurs (trois ou cinq en général, d'accord entre eux par consensus) jouent le rôle du plan de contrôle de Kubernetes : ils reçoivent les jobs, traitent les évaluations et créent les allocations. Les clients, comme les nœuds, lancent les tâches par leurs pilotes.

  • Un job contient des …, qui contiennent des … ; c'est le group, et non la task, qui est placé sur un client.

    Voir la réponse

    Un job contient des groups, qui contiennent des tasks ; c'est le group, et non la task, qui est placé sur un client.

    Les tâches d'un groupe partagent donc la machine, le réseau et les volumes, comme les conteneurs d'un même pod.

  • Group (groupe de tâches) : de quoi s'agit-il ?

    Voir la réponse

    Ensemble de tâches placées ensemble sur un même client, avec le nombre d'exemplaires voulu (count).

    C'est l'unité de placement de Nomad, comme le pod pour Kubernetes : on ne répartit jamais les tâches d'un groupe sur deux machines.

  • nomad job plan annonce Dimension "memory" exhausted on 3 nodes. Quelle est la cause et la solution ?

    • Le pilote Docker est absent des clients ; l'installer sur chacun d'eux puis relancer
    • Aucun client n'a assez de mémoire libre ; baisser la mémoire demandée ou ajouter un client
    • Le job est de type batch ; passer en service pour qu'il soit enfin placé
    • Le serveur Nomad manque de mémoire ; en donner davantage à la machine du serveur
    Voir la réponse

    Aucun client n'a assez de mémoire libre ; baisser la mémoire demandée ou ajouter un client

    Le message vient de la phase de placement : les trois clients candidats sont écartés parce que leur mémoire non réservée est inférieure à la demande du groupe. Le serveur n'exécute aucune tâche.