Top 100 des questions et réponses d'entrevue Ansible

21 décembre 2021

Ansible est un outil d'automatisation informatique open source acquis par Red Hat - l'un des principaux fournisseurs mondiaux de solutions open source d'entreprise - en octobre 2015. Il a été introduit en 2012 avec la société mère AnsibleWorks, et a depuis connu une popularité croissante. au sein de la communauté de l'automatisation logicielle.

Il est spécialement conçu pour les professionnels de l'informatique pour automatiser l'infrastructure, déployer des applications, gérer les configurations, mettre à jour le poste de travail et le serveur, l'approvisionnement du cloud, l'orchestration intra-service et une foule d'autres tâches que l'administrateur système et les développeurs effectuent au quotidien.

Ansible reçoit des informations de votre inventaire pour déterminer les systèmes que vous souhaitez contrôler. Bien qu'une adresse IP puisse être fournie à une requête ad hoc, un inventaire est nécessaire pour utiliser pleinement la polyvalence et la reproductibilité d'Ansible.



Depuis l'acquisition de Red Hat, Ansible n'a fait que gagner en popularité au fil des ans. Il n'est pas étonnant que de plus en plus d'entreprises demandent des candidats expérimentés dans l'utilisation de ce très populaire DevOps ou outil d'automatisation.

Dans ce guide, nous vous fournirons les 100 meilleures questions et réponses d'entrevue Ansible qui sont les plus susceptibles d'être posées lors de vos entretiens avec les meilleures entreprises technologiques.

Pour vous aider à rationaliser votre processus d'apprentissage, nous avons divisé les questions et réponses en 3 sections principales, allant des questions conceptuelles de niveau débutant aux questions hautement techniques pour les étudiants de première année et aux questions d'entretien d'expérience ansible pour les professionnels.

Table des matières

Top 100 des questions et réponses d'entrevue délicates avec Ansible

Questions et réponses niveau débutant

1.A quoi sert Ansible ?

Ansible est un outil open source qui automatise et rationalise les tâches banales et chronophages telles que la gestion de la configuration, l'approvisionnement et le déploiement d'applications. Il peut également fournir des ressources, installer des services et des applications au sein de votre cloud.

2.Listez 5 utilisations ou avantages d'Ansible.

    Aucune exigence d'agent :Ansible ne nécessite aucun agent installé sur les serveurs distants. Il s'agit d'un outil d'automatisation basé sur un nœud de contrôle sans agent qui s'exécute sur un nœud de contrôle qui administre à distance des machines Unix ou Linux et d'autres systèmes à partir du nœud de contrôle à l'aide de l'authentification SSH. Ansible est également le meilleur choix d'un fournisseur ou d'un consultant en raison de sa capacité à gérer des systèmes sans installer de nouveaux agents.Meilleure sécurité du réseau :Ansible est moins vulnérable aux attaques car il ne nécessite aucun agent de serveur distant. Le seul logiciel que vous devez exécuter est le démon OpenSSH ou le service WinRM, qui sont tous deux parmi les services les plus acclamés par la critique au monde et constituent l'épine dorsale de l'accès aux communications cryptées sur leurs plates-formes respectives.Un outil d'automatisation modulaire :Ansible automatise, déploie, configure et orchestre l'infrastructure informatique à l'aide de modules. Ansible a plus de 750 modules intégrés. Les modules (également appelés plugins de tâche ou de bibliothèque) sont de petits morceaux de code qui peuvent être exécutés à partir de la ligne de commande ou d'un travail de playbook. Ansible exécute généralement chaque module sur le nœud télécommandé et collecte les valeurs résultantes.
    Prise en charge Python :Afin de répondre à une large gamme de machines, Ansible est capable de détecter et d'utiliser Python sur de nombreuses plates-formes qui l'accompagnent. Vous pouvez contrôler les nœuds avec l'API Ansible Python, autoriser Ansible à répondre à divers événements Python, développer des plug-ins et importer des données d'inventaire à partir de sources de données externes.Playbooks Ansible et YAML :Les playbooks peuvent gérer finement différentes phases du maillage de votre infrastructure, avec un contrôle précis sur le nombre d'ordinateurs à traiter à un moment donné. Il utilise un langage assez simple, YAML, sous la forme de Playbooks Ansible, qui vous permettent d'identifier vos tâches d'automatisation dans un modèle similaire aux termes profanes.

3.Énumérez cinq inconvénients d'Ansible.

  • Par rapport à certains de ses concurrents les plus connus, Ansible en est encore à ses débuts en tant qu'outil d'automatisation open source. Cela nécessite souvent de créer de nouveaux modules ou de les utiliser à d'autres fins.
  • Ansible dépend des modules Python sur le système qui exécute les tâches ansible et sur l'hôte qui exécute les playbooks. Ainsi, vous ne pouvez pas utiliser Ansible sur une machine hôte sans en faire une provision.
  • Si vous avez un playbook avec beaucoup de tâches à exécuter, il exécutera les tâches une à la fois, ce qui peut prendre du temps en raison du temps nécessaire entre chaque tâche individuelle.
  • L'un des principaux inconvénients de cet outil d'automatisation est son manque de prise en charge appropriée de Windows. Ansible utilise la communication à distance Windows PowerShell native plutôt que SSH dans le cas de Windows. En bref, si vous souhaitez gérer des hôtes Windows, vous aurez besoin d'une machine contrôlée par Linux.
  • Ansible Tower, qui est une mise à niveau de l'interface graphique précédente connue sous le nom d'AWX, laisse beaucoup à désirer. Les problèmes incluent des résultats de requête incohérents générés souvent par l'interface utilisateur désynchronisée avec la ligne de commande. Dans l'ensemble, il ne peut toujours pas suivre l'interface de ligne de commande.
Voir également Top 100 des questions et réponses d'entrevue JavaScript

4. Qu'est-ce que la gestion de la configuration.

Gestion de la configuration fait référence au processus de maintien des systèmes informatiques, des serveurs et des logiciels dans un état bien entretenu. C'est une méthode pour s'assurer qu'un système continue de fonctionner comme prévu malgré les changements qui se produisent au fil du temps.

5. Qu'est-ce que l'orchestration ?

La configuration, la coordination et la gestion automatisées des applications, des systèmes et des services sont appelées orchestration . L'informatique peut gérer et contrôler plus facilement les workflows et les tâches complexes grâce à l'orchestration.

6. Qu'est-ce que l'infrastructure en tant que code (IaC) ?

L'infrastructure en tant que code (IaC) est le processus de provisionnement et de gestion de l'infrastructure via un code plutôt que des processus manuels.

Les fichiers de configuration contenant les spécifications de votre infrastructure sont créés à l'aide d'IaC, ce qui facilite la modification et la distribution des configurations. Il s'assure également que le même environnement est maintenu à chaque fois.

7. En bref, comment fonctionne Ansible ?

Ansible se connecte à vos nœuds et leur envoie de petites unités, appelées modules. Dans Ansible, les modules sont utilisés pour effectuer des tâches d'automatisation.

Ces unités sont conçues pour être des modèles de ressources pour l'état approprié du système. Ansible exécute ensuite ces modules, puis s'en débarrasse une fois qu'ils ont terminé.

8. Quelles sont les exigences de base pour configurer un serveur Ansible ?

Exigences
Abonnement Une plate-forme Red Hat Ansible Automation valide
Système opérateur Red Hat Enterprise Linux 7.7 ou version ultérieure 64 bits (x86), ou 8.2 ou version ultérieure 64 bits (x86)
Version Ansible Version 2.9
RAM Au moins 4 Go
CPU Au moins 2
Espace disque 20 Go d'espace disque dédié
(Dépend de la taille des collections stockées)
Compatibilité du navigateur Version actuelle de Google Chrome ou Mozilla Firefox

9. Qu'est-ce que CI/CD ?

L'IC dans CI / CD représente continu l'intégration , qui est une procédure d'automatisation utilisée par les développeurs. Le CD dans CI/CD signifie livraison continue ou déploiement continu , faisant référence au processus d'automatisation dans les phases ultérieures du pipeline.

Des étapes de test/intégration au déploiement/livraison, CI/CD apporte une automatisation et une surveillance régulière tout au long de la durée de vie d'une application.

10. Qu'est-ce qu'un Playbook Ansible ?

Les playbooks Ansible sont du code pré-écrit que les développeurs peuvent utiliser à la volée ou comme point de départ. Les playbooks Ansible sont utilisés pour automatiser régulièrement les tâches informatiques complexes, l'infrastructure (comme le système d'exploitation/les plates-formes Kubernetes), les systèmes de sécurité et les réseaux. Un inventaire Ansible est composé d'un groupe, d'une classification ou d'un ensemble d'hôtes qui sont tous exécutés par des playbooks Ansible.

Un exemple de playbook peut ressembler à ceci :

|__+_|

11. Qu'est-ce qu'Ansible Galaxy ?

Ansible Galaxy est une collection de rôles Ansible qui peuvent être intégrés directement dans vos Playbooks pour accélérer vos projets d'automatisation.

Galaxy se compose d'un grand nombre de rôles qui changent et se développent constamment.

D'autres sources de rôles comme GitHub peut être ajouté à Galaxy en utilisant git. Vous pouvez utiliser ansible-galaxy init pour créer un nouveau rôle de galaxie, ou vous pouvez utiliser nom du rôle d'installation ansible-galaxy> pour installer un rôle directement depuis la boutique Ansible Galaxy.

D'autres sources de rôle telles que GitHub peuvent être ajoutées à Galaxy à l'aide de git. Vous pouvez utiliser ansible-galaxy init pour créer un nouveau rôle de galaxie, ou vous pouvez utiliser nom du rôle d'installation ansible-galaxy> pour installer un rôle directement depuis la boutique Ansible Galaxy.

La commande pour installer les rôles et collections Ansible galaxy simultanément avec une seule commande :

|__+_|

12. Quels sont les types de modules dans Ansible ?

Dans sa base de code, Ansible prend en charge une variété de types de modules. Certains d'entre eux sont destinés à la rétrocompatibilité, tandis que d'autres offrent de la flexibilité.

Plug-ins d'actions

Les plugins d'action peuvent ressembler à des modules lors de l'utilisation de playbooks, cependant, les deux sont différents. Certains plugins d'action gèrent tout, tandis que les modules ne donnent que la documentation. Certains de ces plugins exécutent même des modules. La documentation de la majorité des plugins d'action se trouve dans un module du même nom. Le contrôleur est l'endroit où tous les plugins d'action s'exécutent.

Nouveaux modules de style

Les modules livrés avec Ansible appartiennent à cette catégorie. Tous les modules Ansible officiels utilisent Windows PowerShell ou Python. Les modules de style nouveau sont livrés avec des arguments de module, tandis que les modules de style ancien nécessitent de copier un autre dossier vers un nœud contrôlé, ce qui réduit l'efficacité et nécessite deux sur la connectivité filaire.

13. Qu'est-ce que YAML et ses utilisations ?

YAML est un langage de sérialisation utilisé pour créer des fichiers de configuration. YAML signifie encore un autre langage de balisage ou YAML n'est pas un langage de balisage (ce qui signifie que YAML n'est pas destiné aux documents, mais aux données), selon l'utilisation.

La tâche d'Ansible est une action individuelle qui aide à décomposer davantage une politique de configuration en fichiers ou blocs de code plus petits. Ces blocs peuvent être utilisés pour automatiser une procédure comme l'installation d'un package, la mise à jour d'un logiciel, etc.

Chaque fichier YAML commence par – – – et se termine par . . .

|__+_|

14. Qu'est-ce qu'Ansible Tower ?

Ansible Tower (anciennement connu sous le nom de «AWX») est une solution basée sur Internet qui facilite l'utilisation d'Ansible pour les services informatiques de tous types. Il est destiné à servir de plaque tournante centrale pour tous vos projets d'automatisation.

Il vous donne un contrôle total sur qui a accès à quoi, y compris la possibilité de partager des informations d'identification SSH sans autoriser leur transfert. Il garde une trace de toutes vos tâches, fusionne bien avec LDAP et dispose d'une API REST accessible sur le Web.

Le fichier de playbook ci-dessous peut vérifier si la tour exécute un playbook par rapport à l'inventaire. héberger:

|__+_|

15. Qu'est-ce qui différencie Ansible de Puppet ?

Ansible Fantoche
principalement utilisé pour la configuration, le provisionnement et le déploiementprincipalement utilisé pour la gestion de la configuration et le provisionnement
interface graphique relativement récente et non polieinterface graphique mieux développée
encore à ses balbutiements en ce qui concerne la communauté et le soutienplus grande communauté et soutien
écrit en pythonécrit en Ruby, C++, Clojure
nœud de contrôle ; architecture sans client sur SSHserveur client; le client a besoin de l'approbation du serveur
installation sur le nœud de contrôle uniquementprocédure d'installation plus longue
langage procédural; YAMLlangage déclaratif; puppetDSL avec magasin de données YAML

16. Donnez un aperçu des différents composants d'Ansible.

Ansible a été conçu pour les déploiements à plusieurs niveaux et, au lieu de gérer un système à la fois, il modélise votre infrastructure informatique en définissant la manière dont tous vos systèmes interagissent.

Modules: Ansible se connecte à vos nœuds et leur envoie des modules Ansible qui scriptent. La majorité des modules acceptent des paramètres qui spécifient l'état souhaité du système. Ansible exécute ensuite ces modules (via SSH), puis les supprime une fois qu'ils ont terminé. Vous pouvez également écrire vos propres modules.

Utilitaires du module : Les magasins Ansible fonctionnent comme des utilitaires de module lorsque différents modules utilisent le même code pour réduire la répétition et la maintenance, lib/ansible/module utils/url.py est le code d'analyse des URL. Vous pouvez également créer vos propres utilitaires de module. Seuls Python ou PowerShell peuvent être utilisés pour créer des utilitaires de module.

Plugins : Ansible est livré avec plusieurs plugins préchargés utiles, et vous pouvez également créer facilement le vôtre. Vous pouvez, par exemple, créer un plug-in d'inventaire qui se connecte à n'importe quelle source de données basée sur JSON. Python est le seul langage qui peut être utilisé pour créer des plugins.

Inventaire: Ansible représente les machines qu'il gère par défaut dans un fichier (comme YAML) qui regroupe toutes vos machines organisées en groupes de votre choix.

Il n'y a pas besoin d'un serveur de signature SSL supplémentaire lors de l'ajout de nouvelles machines, il est donc plus facile de savoir pourquoi un système ne s'est pas connecté en raison de problèmes NTP ou DNS arbitraires.

Playbooks : Un playbook est un ensemble de codes de gestion de configuration qui spécifient comment les tâches doivent être effectuées sur des réseaux distants ou un groupe de systèmes réseau. YAML est utilisé pour écrire les codes et les instructions.

Exécutez la commande $ touch playbook_name.yml pour créer un playbook.

Chemin de recherche ansible : Vous pouvez avoir plusieurs fichiers avec des noms identiques à différents emplacements sur votre nœud de contrôle Ansible au cas où vous écririez votre propre code pour améliorer les principales fonctionnalités d'Ansible. Le chemin de recherche décidera lequel de ces fichiers Ansible trouvera et utilisera lors d'une exécution de playbook particulière.

Au cours d'une exécution, le chemin de recherche d'Ansible se développe progressivement. Ansible ajoute tous les répertoires liés à chaque playbook et rôle inclus dans une exécution donnée au chemin de recherche au fur et à mesure qu'il les trouve.

17. Définissez les commandes Ad-hoc.

Les commandes ad hoc sont des commandes d'une seule ligne qui sont utilisées pour accomplir une tâche particulière. Les commandes ad hoc peuvent être considérées comme un remplacement des playbooks. Voici un exemple de commande ad hoc :

|__+_|

La commande Ad Hoc ci-dessus termine le serveur en accédant au module netscaler.

18. Que sont les variables Ansible ?

Les variables sont utilisées par Ansible pour gérer les différences entre les systèmes. Avec Ansible, vous pouvez utiliser une seule commande pour exécuter des tâches et des playbooks sur plusieurs systèmes différents. Lors de l'exécution d'un playbook, vous pouvez également créer des variables en enregistrant la ou les valeurs de retour de la tâche en tant que nouvelle variable.

Les conditions peuvent également être utilisées autour des variables.

Les variables peuvent être créées en ligne comme ci-dessous :

|__+_|

19. Énumérez les différences entre la variable d'environnement et le nom de la variable.

Variable d'environnement Nom de variable
Pour obtenir des variables d'environnement, vous aurez besoin de variables existantesPour créer des noms de variables, vous devez d'abord ajouter des chaînes
Vous avez besoin d'un playbook Ansible avancé pour créer des variables d'environnementVous pouvez facilement créer différents noms de variables en combinant des chaînes
Pour les variables d'environnement, nous employons {{ ansible_env.SOME_VARIABLE }}Pour les noms de variables, nous aurons besoin d'adresses ipv4

20. Qu'est-ce qu'une tâche Ansible ?

Vous pouvez utiliser Ansible Tasks pour décomposer de gros morceaux de stratégie de configuration en petits fichiers séparés. Ce sont des éléments de code réutilisables qui peuvent être utilisés pour automatiser n'importe quelle tâche. Si vous souhaitez installer un package ou mettre à jour un logiciel, par exemple, vous pouvez utiliser l'extrait de code ci-dessous :

|__+_|

21. Comment effectuez-vous une vérification de la syntaxe sur Playbook ?

Si vous voulez juste vérifier que tout dans le playbook est en ordre, vous pouvez exécuter une vérification de syntaxe sur votre code.

Voir également Top 100 des questions et réponses d'entrevue JavaScript

Vous trouverez ci-dessous un exemple d'utilisation de la ligne de commande pour effectuer une vérification de la syntaxe sur un ansible-playbook

|__+_|

22. Comment exécutez-vous à sec un playbook avant d'apporter des modifications réelles ?

Vous pouvez utiliser la fonction Dry Run pour voir les modifications que le playbook apportera au serveur sans avoir à apporter vous-même les modifications réelles.

Pour ce faire, ajoutez simplement l'option -C à la tâche de démarrage de votre playbook.

23. Qu'est-ce qu'un ask_pass dans Ansible ?

Il détermine si un playbook Ansible demandera ou non un mot de passe par défaut. Non est l'option par défaut :

|__+_|

Il est peu probable que vous deviez modifier ce paramètre si vous utilisez des clés SSH pour l'authentification.

24. Définissez ask_sudo_pass.

Il contrôle si un playbook Ansible doit demander un mot de passe sudo par défaut, comme ask_pass.

Non est également l'option par défaut.

|__+_|

Les utilisateurs dont les mots de passe sudo sont activés sur leurs plates-formes peuvent modifier ce paramètre.

25. Qu'est-ce que ask_vault_pass ?

Cela détermine si un playbook Ansible demandera ou non le mot de passe du coffre-fort par défaut. Non est l'option par défaut.

|__+_|

26. Qu'est-ce que Callback_plugin dans Ansible ?

Les rappels ansibles sont des morceaux de scripts qui sont exécutés lorsque certains événements se produisent, permettant de déclencher des notifications.

Il s'agit d'une fonctionnalité axée sur les développeurs qui permet de charger des extensions Ansible de bas niveau à partir de plusieurs sources.

Pour obtenir une liste de tous les plugins de rappel ansible-doc -t rappel -l

27. Où les tests unitaires sont-ils présents dans Ansible ?

Les tests unitaires se trouvent dans le répertoire test/units. Il convient de noter que la structure du répertoire des tests est similaire à celle de lib/ansible/.

28. Quelle commande utiliseriez-vous pour installer Ansible sur CentOS ?

Tout d'abord, assurez-vous que le référentiel CentOS EPEL a été installé

|__+_|

Ensuite, installez Ansible en utilisant yum

|__+_|

29. Qu'est-ce qu'Async ?

C'est une tâche qui est configurée pour s'exécuter en arrière-plan au lieu d'attendre qu'elle se termine. Il est préférable de démarrer un processus en mode asynchrone au cas où cela prend plus de temps que le délai d'attente SSH. Les modes asynchrones peuvent être configurés pour vérifier l'achèvement toutes les quelques secondes ou pour « déclencher et oublier », auquel cas Ansible ne recherchera plus la tâche et passera à l'étape suivante.

/usr/bin/ansible et /usr/bin/ansible-playbook prennent tous deux en charge le mode asynchrone.

30. Que fait le plugin Connection ?

Ansible utilise des plugins de connexion pour se connecter aux hôtes cibles et effectuer des tâches sur eux. Ansible est livré avec de nombreux plugins de connexion, mais chaque hôte ne peut en utiliser qu'un à la fois. Les plus couramment utilisés incluent SSH (natif), Paramiko SSH et le type de connexion locale.

31. Qu'est-ce que le mode différentiel ?

L'option -diff playbook d'Ansible peut être utilisée seule ou en combinaison avec -check. Tout module prenant en charge le mode diff affiche les modifications apportées et, lorsqu'il est utilisé avec –check, il affiche les modifications qui auraient été apportées, lorsqu'il était exécuté en mode diff. Le mode Diff est principalement utilisé dans les modules de manipulation de fichiers (par exemple, le module de modèle).

32. Qu'est-ce qu'un exécuteur testamentaire ?

Il s'agit d'un composant logiciel Ansible de base qui active /usr/bin/ansible et coïncide avec chaque exécution de tâche dans un playbook ansible. Bien que les développeurs Ansible utilisent le terme 'exécuteur', il n'est pas très populaire.

33. Que fait le plugin Filter ?

Les plugins de filtrage peuvent modifier les données. Ceux-ci permettent le développement de nouveaux filtres Jinja2, qui sont principalement utiles aux personnes déjà familiarisées avec les filtres Jinja2.

34. Expliquez l'utilisation de Forks.

Ansible communique avec les nœuds distants en parallèle, et le niveau de traitement parallèle peut être modifié en passant –forks ou en modifiant le fichier de configuration actuel.

35. Quel est le rôle de rassemble_faits ?

Ce module est responsable de l'exécution des modules de faits activés ; le module de configuration est utilisé par défaut. Les playbooks appellent ce module automatiquement pour collecter des informations utiles sur les hôtes distants qui peuvent être nécessaires dans les playbooks.

36. Qu'est-ce que le Globbing ?

Globbing est une méthode de sélection d'un grand nombre d'hôtes basée sur des caractères génériques au lieu des noms spécifiques de l'hôte ou du groupe. Par exemple, vous pouvez utiliser le caractère générique ww* pour rechercher et faire correspondre tous les serveurs commençant par www.

37. Que stockez-vous dans group_vars ?

Les fichiers group_vars/ restent dans le même répertoire que le fichier d'inventaire, avec un nom de fichier étiqueté après chaque groupe. C'est un bon endroit pour stocker les variables qui sont fournies à un groupe spécifique, en particulier les structures de données complexes, afin qu'elles n'aient pas à être incluses dans le fichier d'inventaire ou le playbook.

38. Qu'est-ce qu'un gestionnaire ?

Les gestionnaires sont similaires aux tâches normales d'un playbook Ansible (voir Tâches), sauf qu'ils ne sont exécutés que si la tâche contient le mot clé notify et indique également que quelque chose a changé.

39. Que font les Host Vars ?

Un répertoire appelé host vars le fichier d'inventaire peut contenir des fichiers YAML étiquetés après chaque nom d'hôte dans le fichier d'inventaire, tout comme Group s3eVars.

40. Qu'est-ce que l'idempotence ?

Si le résultat de l'exécution d'une opération une fois est identique au résultat de l'exécution répétée sans aucune influence extérieure, on dit qu'elle est idempotente.

41. Quelle est la langue utilisée dans le module de modèle Ansible ?

Le module de modèle d'Ansible utilise Jinja2 comme choix de langage de modèle. C'est un langage de modèle Python très basique, à la fois lisible et simple à écrire.

42. Qu'est-ce que l'évaluation paresseuse ?

Ansible évalue toutes les variables du contenu du playbook à la toute dernière seconde, ce qui signifie que si vous spécifiez une structure de données, cette structure peut spécifier des valeurs variables à l'intérieur.

43. Que fait le plug-in de recherche ?

Un plugin de recherche est un moyen d'importer des données de droite dans Ansible. Les plugins de recherche ne sont qu'une ramification de Jinja2 qui peut être utilisé dans des modèles, tels que lookup{{ lookup('file','/path/to/file') }}. C'est ainsi que des fonctionnalités telles que with_items sont exécutées. Il existe également des plugins de recherche pour interroger les enregistrements DNS, les variables d'environnement, les enregistrements clé-valeur et le fichier qui chargera les données d'un fichier.

44. Expliquez l'utilisation des groupes de limites.

Les commandes peuvent être limitées à un sous-ensemble d'hôtes en passant –limit the group à ansible ou à un playbook. Cela pourrait être utilisé, par exemple, pour exécuter un playbook qui adresse généralement toute une gamme de serveurs à un seul serveur.

45. Qu'est-ce qu'un mode Pull ?

Lorsque vous souhaitez que les nœuds s'enregistrent toutes les quelques minutes selon un calendrier spécifique, vous pouvez utiliser le mode pull. Il fonctionne avec le programme pull ansible et peut également être configuré/ou reconfiguré avec un playbook en mode push.

46. ​​Qu'est-ce qu'un mode push ?

Ansible s'exécute par défaut en mode push, ce qui lui confère une autorité complète lorsqu'il communique avec chaque système. Ansible peut faire fonctionner des nœuds via des procédures d'orchestration complexes sans avoir à attendre qu'ils s'enregistrent, tout en utilisant le mode push.

47. Définir la variable de registre.

Le registre Ansible vous permet d'enregistrer la sortie de l'exécution d'une tâche dans une variable. Il s'agit d'une fonctionnalité importante car la sortie varie selon l'hôte distant et nous pouvons utiliser des boucles de conditions pour effectuer d'autres tâches en fonction de celle-ci. De plus, chaque valeur de registre reste valide tout au long de l'exécution du playbook.

48. Comment fonctionne le module de ressources ?

Un module de ressources est un composant réseau discret qui a été mappé sur un seul module Ansible.

Les périphériques réseau divisent la configuration en sections qui s'appliquent à un service réseau (comme les VLAN et les interfaces). Ceci est utilisé par les modules de ressources réseau Ansible pour vous permettre de configurer des sous-sections ou des ressources dans une configuration de système réseau.

49. Qu'est-ce qu'une mise à jour continue ?

L'action de se référer à un groupe de N nœuds est prise un par un afin d'éviter de les mettre à niveau tous en même temps et de mettre le système hors ligne. Par exemple, pour gérer une topologie Web avec plus de 500 nœuds, il peut être judicieux de terminer la mise à jour de seulement 10 à 20 machines à la fois, puis de passer aux suivantes. Dans les playbooks Ansible, le en série: Le mot-clé gère la taille de la mise à jour progressive. Par défaut, la taille du lot est gérée en une seule fois.

cinquante. Que sont les faits Ansible ?

Ansible conserve les informations sur l'hôte dans des variables après avoir exécuté un module de configuration dessus pour un accès facile dans les playbooks. Les faits ansibles sont des variables prédéfinies qui fournissent des informations sur un système hôte.

Questions et réponses d'entrevue Ansible de niveau intermédiaire

51. Comment vérifier les variables d'un hôte ?

La variable host_vars donne accès à toutes les variables d'un hôte. C'est un dictionnaire de variables avec le titre de la variable comme clé. Voici une illustration :

|__+_|

52. Que sont les balises ? Comment se débarrasser des balises ?

Une balise est un attribut que vous pouvez appliquer à un jeu ou à des tâches afin de pouvoir les sélectionner ou les désélectionner lorsque vous exécutez un playbook. Il existe deux méthodes pour supprimer des balises d'une liste :

Utilisez les options de ligne de commande –tags ou –skip-tags.

À l'aide des paramètres TAGS RUN et TAGS SKIP dans les paramètres de configuration d'Ansible, désactivez ou activez les balises.

53. Ansible est-il compatible avec SELinux ?

Si vous souhaitez utiliser des fonctions de copie/modèle dans Ansible, vous devrez installer libselinux python sur des nœuds distants sur lesquels SELinux est activé. Les modules yum ou dnf d'Ansible peuvent être utilisés pour installer ce package sur des systèmes distants qui ne l'ont pas déjà.

Voir également Top 100 des questions et réponses d'entrevue JavaScript

54. Comment pouvez-vous créer des fichiers chiffrés avec Ansible ?

Utilisez la commande « ansible-vault create » pour générer un fichier crypté.

|__+_|

Vous serez invité à établir un mot de passe, que vous devrez ensuite confirmer en le saisissant à nouveau. Vous aurez maintenant accès à un nouveau fichier dans lequel vous pourrez ajouter et modifier des informations.

55. Je Existe-t-il un moyen d'augmenter la valeur du délai d'attente de redémarrage ?

Oui, le temps d'attente de 600 secondes du module de redémarrage Ansible peut être augmenté à des niveaux spécifiés. La syntaxe suivante peut être utilisée :

Questions et réponses d'entrevue Ansible de niveau expert pour les professionnels expérimentés

55. Comment testez-vous les projets Ansible ?

Ceci est une autre question d'entrevue ansible courante. Il y a trois options pour tester :

Affirme

Asserts reproduit le comportement du test dans d'autres langages, tels que Python. Il garantit que votre système a atteint l'état prévu, plutôt qu'une simple simulation comme en mode de vérification. Affirme que la tâche a rempli les objectifs de la tâche et que les ressources nécessaires ont été modifiées.

Mode de vérification

Le mode de vérification affiche comment les choses fonctionneraient si aucune simulation n'avait été effectuée. Par conséquent, il est simple de voir si le projet se comporte comme vous le souhaitez. Le mode de vérification, en revanche, n'exécute pas les scripts et les commandes utilisés dans les rôles et les playbooks. Pour contourner ce problème, utilisez 'check mode: no' pour désactiver le mode de vérification pour les tâches spécifiées.

Exécution manuelle

Exécutez simplement la lecture et assurez-vous que le système est dans l'état requis. Ce type de test est le plus simple, mais il comporte un risque plus élevé car les résultats dans un environnement de test peuvent différer de ceux d'un environnement de production.

56. Qu'est-ce qu'Ansible Vault et comment ça marche ?

Tout fichier de données structuré utilisé par Ansible peut être chiffré à l'aide de la fonctionnalité Ansible Vault. Cela peut contenir des variables d'inventaire telles que group vars/ ou host vars/, des variables chargées à l'aide de fichiers include vars ou vars, ou des fichiers de variables fournis avec -e @file.yml ou -e @file.json sur la ligne de commande ansible-playbook. Les variables et les valeurs par défaut des rôles sont également fournies !

Les travaux, gestionnaires et autres objets ansibles contiennent des données, par conséquent, le coffre-fort peut également les chiffrer. Vous pouvez conserver un fichier de tâche individuel entièrement crypté si vous ne souhaitez pas révéler les variables que vous utilisez.

57. Comment pouvez-vous accéder aux variables d'environnement du shell ?

En utilisant le plug-in de recherche env, vous pouvez accéder aux variables que l'ordinateur de contrôle possède déjà. Pour obtenir la valeur de la variable d'environnement domestique sur l'ordinateur de gestion, par exemple, tapez :

|__+_|

58. Dans un playbook, comment gardez-vous les données cachées ?

Utilisez Vault dans les playbooks si vous souhaitez conserver des données confidentielles tout en pouvant les publier publiquement. Cependant, si vous utilisez le mode –v (verbeux) et que vous ne voulez pas que les résultats soient visibles pour les autres, utilisez :

|__+_|

59. Comment puis-je configurer les délais de pré-redémarrage et de post-redémarrage ?

Une fois le redémarrage réussi et la connexion rétablie en quelques secondes, la commande suivante peut être utilisée pour forcer Ansible à attendre :

|__+_|

Questions d'entretien sur les Playbooks Ansible

60. Décrivez la syntaxe du Playbook.

Les playbooks sont écrits en YAML et ont très peu de syntaxe.

Un livre de jeu est une collection d'un ou plusieurs 'jeux' dans un ordre logique. Chaque jeu réalise une partie de l'objectif ultime du livre de jeu en assumant une ou plusieurs responsabilités. Un module Ansible est appelé par chaque tâche.

61.D écrivez comment le Playbook est mis en action.

De haut en bas, un playbook est lu. Les tâches sont également accomplies dans l'ordre de haut en bas à l'intérieur de chaque jeu. Plusieurs « jeux » dans un playbook peuvent orchestrer des déploiements multi-machines, avec un jeu fonctionnant sur vos serveurs Web, un autre sur vos serveurs de base de données, un troisième sur votre infrastructure réseau, etc. Chaque jeu doit définir au moins deux choses :

  • les nœuds gérés à cibler
  • avec au moins une tâche à exécuter

62. Comment les playbooks Ansible sont-ils utilisés ?

La syntaxe YAML est utilisée dans Ansible. YAML signifie encore un autre langage de balisage ou YAML n'est pas un langage de balisage. Les extensions de fichier YAML incluent.yaml et.yml.

Les playbooks Ansible peuvent être utilisés de deux manières :

1. Utilisation d'une interface de ligne de commande (CLI)

2. Déploiements par bouton-poussoir avec Red Hat Ansible Automation Platform.

63. Quelle est la meilleure façon d'exécuter des playbooks ?

Utilisez la commande ansible playbook pour exécuter votre playbook.

|__+_|

Lors de l'exécution de votre playbook, utilisez le paramètre —verbose pour recevoir la sortie complète des modules réussis et défaillants.

64. Quoi 'est-ce que Ansible-Pull ?

Si vous souhaitez inverser l'architecture d'Ansible de manière à ce que les nœuds s'enregistrent à un emplacement central plutôt que de leur envoyer la configuration, vous pouvez utiliser Ansible Pull.

Ansible Pull est un petit script qui récupère un référentiel git d'instructions de configuration, puis exécute un playbook ansible sur celui-ci.

Questions d'entretien Ansible pour l'ingénieur Devops

65. Quelle méthode utiliserez-vous pour désactiver Cowsay ?

Si Cowsay est installé, l'intégration de vos playbooks dans Ansible est un jeu d'enfant. Que vous pensiez ou non avoir besoin de travailler dans un environnement professionnel sans vaches, vous aurez deux options :

  • Supprimez cowsay de votre ordinateur.
  • Exportez ANSIBLE NOCOWS=1 pour définir la valeur de la variable d'environnement.

66. Comment allez-vous rendre la gestion EC2 plus efficace ?

La gestion d'un ensemble de machines EC2 à partir de votre PC n'est pas possible.

La meilleure approche consiste à se connecter d'abord à un nœud administratif Ec2, puis à utiliser Ansible à partir de là.

67. Quelle méthode utiliserez-vous pour mettre à niveau Ansible ?

La mise à niveau d'Ansible est simple. Vous devez utiliser la commande suivante :

|__+_|

68. Existe-t-il quelque part une référence pour l'API Ansible ?

Oui, Ansible peut gérer les appels d'API Rest à l'aide de la tour ansible. Il offre la possibilité d'utiliser RBAC pour obtenir des certificats ssh de manière sécurisée.

69. Est-il possible d'utiliser Ansible pour provisionner du matériel ?

Oui, Ansible peut configurer l'équipement. De nombreuses entreprises dépendent encore de serveurs de données massifs. Il y a quelques exigences. Avant de poursuivre, vous devez mettre en place certaines procédures administratives. PXE, DHCP, Operating System Media, TFTP, Web Server et autres en font partie.

70. Qu'est-ce qu'une machine contrôleur et à quoi sert-elle ?

La machine Contrôleur est en charge du provisionnement des serveurs sous son contrôle. Dans cette machine, Ansible est utilisé.

Questions d'entretiens chez Ansible Architecture

71. Décrire l'inventaire

L'inventaire fait référence aux listes de nœuds ou d'hôtes avec des adresses IP, des bases de données, des serveurs et d'autres éléments qui doivent être contrôlés.

La représentation par défaut d'Ansible des machines qu'il gère est un simple fichier INI qui regroupe tous vos ordinateurs gérés en groupes de votre choix.

Les variables peuvent être allouées aux hôtes d'inventaire dans de simples fichiers texte dans le sous-dossier 'group vars/' ou 'host vars/' ou directement dans le fichier d'inventaire.

72. Qu'est-ce que la base de données CMDB ?

Une CMDB est une sorte de base de données qui sert d'entrepôt de données pour les systèmes informatiques.

Questions d'entretiens chez Ansible Tower

73. Comment utiliser Ansible Tower ?

  • Tout d'abord, créez un inventaire avec un exemple d'hôte
  • Ensuite, créez un projet où Tower récupérera le playbook à partir de
  • Créer un identifiant
  • Faire un modèle pour le travail

74. Qu'est-ce qu'Ansible Tower ?

Ansible Tower est l'interface utilisateur, le tableau de bord et l'API REST d'Ansible. Grâce à la planification des tâches basée sur les rôles, au contrôle d'accès et à la gestion graphique de l'inventaire, vous pouvez gérer votre infrastructure Ansible à partir d'une interface utilisateur moderne. L'API REST et l'interface de ligne de commande de Tower simplifient l'intégration de Tower dans les outils et procédures actuels.

Questions d'entretien Ansible à choix multiples

75. Dans quelle langue le moteur Ansible a-t-il été écrit ?

    Python
  • Java
  • C++
  • C#

76. En quelle année Ansible est-il sorti pour la première fois ?

    Février 2012
  • mars 2012
  • avril 2012
  • janvier 2012

77. Quelle est la langue par défaut dans laquelle les playbooks Ansible sont écrits ?

  • XML
  • HTML
  • JSOND
  • YAML

78. Dans votre playbook Ansible, quel paramètre utiliserez-vous pour spécifier une variable ?

  • Aucun d'entre eux
  • -c
  • -ré
  • -Et

79. Que signifie IaC ?

    Infrastructure en tant que code
  • Intégration et code
  • En tant que code
  • Intra comme code

80. YAML utilise-t-il des tabulations pour l'indentation ?

  • Vrai
  • Faux

81. Par défaut, quel est l'emplacement du fichier d'inventaire ?

  • nom de rôle/tâches/
  • playdir/templates/
  • /etc/ansible/hosts
  • /usr/bin/env

82. Le module qui peut être utilisé pour copier des fichiers d'une machine distante vers une machine de contrôle.

  • copie
  • aller chercher
  • modèle
  • déposer

83. Quelle commande voudriez-vous omettre des faits de l'hôte ?

  1. rassembler les faits : non
  2. rassemblementfaits : Faux
  3. moi seulement
  4. à la fois 1 et 2

84. Quel outil de gestion de configuration ne nécessite pas l'utilisation d'un agent ?

  • Pile de sel
  • Ansible
  • Chef
  • Fantoche

85. Les modules Ansible apporteront des modifications à chaque fois que vous exécuterez un playbook

  • Vrai
  • Faux

86. Quel module ansible peut être utilisé pour arrêter temporairement l'exécution d'un playbook ?

  • identité
  • inventaire
  • commandes
  • pause

87. Même si vous exécutez le playbook plusieurs fois, le gestionnaire ne s'exécutera qu'une seule fois.

    Vrai
  • Faux

88. Laquelle des directives suivantes doit être utilisée pour remplacer la méthode par défaut définie dans Ansible ?

  • ansible_become_method
  • devenir_utilisateur
  • devenir_méthode
  • ansible_become

89. Par défaut, quelle est la valeur de configuration de Forks dans Ansible ?

  • un
  • 3
  • 6
  • 5

90. Ansible nécessite-t-il un accès root pour exécuter des tâches ?

  • Vrai
  • Faux

91. Quelle est la valeur par défaut de Poll_interval dans la configuration Ansible ?

    quinze
  • 13
  • vingt
  • 9

92. Quel module devez-vous utiliser pour faire exécuter un gestionnaire entre deux tâches ?

  • apt_key
  • ACL
  • add_host
  • méta

93. Quel module Ansible supervise la gestion des services et conteneurs Docker ?

  • docker_host
  • docker_service
  • système
  • slurp

94. Quel module vous permet de voir une liste de toutes les variables Ansible ?

  • dnf_module
  • un service
  • mettre en place
  • copie

95. Quelle commande utilisez-vous pour vérifier la syntaxe de votre playbook Ansible ?

  • $ sudo apt-add-repository
  • $ ansible-playbook
  • ansible -i héberge tous -m copie -a
  • shell : apt-get install clamav -y

96. Lequel de ces éléments parcourra aléatoirement les éléments ?

  • with_dict
  • avec_ensemble
  • with_list
  • with_random_choice

97. Parmi les options ci-dessous, lesquelles sont utilisées pour les actions privilégiées dans Ansible ?

    devenir : oui
  • devenir_utilisateur : apache
  • commande : une commande
  • devenir_méthode : sudo

98. Comment puis-je voir toutes les variables d'inventaire qui ont été spécifiées pour mon hôte ?

  • ansible -m nom d'hôte de configuration
  • ansible-inventory –list –yaml
  • {{hostvars [inventory_hostname] [‘somevar_’ ~ other_var]}}
  • remote_tmp=$HOME/.ansible/tmp

99. Lequel des éléments suivants est utilisé pour chiffrer les fichiers et les variables dans Ansible ?

  • débogueur ansible
  • traction impossible
  • livre de jeu ansible
  • voûte ansible

100. Quel module Ansible pouvez-vous utiliser pour créer un répertoire ?

  • inventaire
  • méta
  • déposer
  • Les données

Étant donné qu'Ansible est un outil fantastique pour automatiser les opérations informatiques et qu'il est fréquemment utilisé dans les industries, tout ingénieur logiciel ou membre de l'équipe DevOps doit être familiarisé avec ses concepts fondamentaux.

De plus, il est incroyablement simple à configurer, nous pouvons donc commencer tout de suite. Ces questions couvrent les aspects les plus importants liés à Ansible et vous aideront à la fois à vous préparer et à comprendre Ansible plus en profondeur lors de votre entretien.