Introduction aux questions et réponses d'entrevue Ansible

Ansible est une plate-forme d'automatisation open source. Ansible aide à l'automatisation des tâches, au déploiement d'applications et à la gestion de la configuration. Ansible est développé en langage Python. Ansible se compose de deux serveurs contrôlant la machine et les nœuds. Ces deux serveurs sont gérés par SSH sans aucun temps d'arrêt. En utilisant le protocole SSH, Ansible déploie des modules sur des nœuds et ceux-ci sont principalement stockés temporairement dans des nœuds distants. Ansible peut gérer plus de 100 nœuds dans un seul système via une connexion SSH.

Vous trouverez ci-dessous la liste des questions et réponses d'entrevue Ansible courantes en 2019:

Vous avez donc finalement trouvé l'emploi de vos rêves à Ansible, mais vous vous demandez comment résoudre l'interview Ansible et quelles pourraient être les probables questions d'entrevue Ansible 2019. Chaque entretien est différent et la portée d'un travail est également différente. Gardant cela à l'esprit, nous avons conçu les questions et réponses d'entrevue Ansible les plus courantes pour vous aider à réussir votre entrevue.

1. Qu'est-ce qu'Ansible?

Répondre:
Ansible est une plate-forme d'automatisation open source. Il peut nous aider dans la gestion de la configuration, le déploiement d'applications ou l'automatisation des tâches. Il peut déployer une application à l'aide de SSH sans aucun temps d'arrêt. Ansible est développé ou écrit en langage Python.

2. Quels sont les avantages et l'utilisation d'Ansible?

Répondre:
Ansible présente de nombreux avantages:
Aucun agent: aucun agent n'est requis pour configurer Ansible. Si Box peut prendre en charge ssh et qu'il a python, aucun problème pour configurer Ansible.
Idempotent: l'architecture d'Ansible est totalement structurée autour du concept d'idempotence. L'idée principale ou fondamentale est que seules les choses qui doivent être ajoutées doivent être ajoutées, et ces choses seront reproductibles sans effets secondaires.
Déclaratif et non procédural: une attitude normale des autres outils de configuration consistant à suivre un processus procédural, signifie faire ceci puis faire cela et ainsi de suite. Mais Ansible écrit normalement la description de l'état de la machine ce que nous voulons et il prend les mesures appropriées pour remplir cette description.
Très facile à apprendre et faible surcharge.

3. Comment fonctionne Ansible?

Répondre:
Ansible est principalement classé en deux types de serveurs: la machine de contrôle et les nœuds.
Ansible sera installé sur la machine de contrôle et les nœuds sont gérés à l'intérieur de cette machine de contrôle par SSH. Les emplacements des nœuds sont spécifiés en contrôlant une machine via son inventaire.
Ansible déploie des modules sur des nœuds à l'aide du protocole SSH, ces modules sont principalement stockés temporairement sur des nœuds distants et communiquent avec la machine Ansible via une connexion JSON via la sortie standard. L'installation de l'agent dans les nœuds distants n'est pas requise pour Ansible car il est sans agent. Ainsi, tout processus d'arrière-plan ou processus démon ne s'exécutant pas pour Ansible lorsqu'il ne gère aucun nœud. Ansible peut gérer plus de 100 nœuds dans un seul système via une connexion SSH et une seule commande «ansible» peut être gérée pendant toute l'opération. Mais certains scénarios, nous pouvons créer des «playbooks» où nous avons besoin d'exécuter plusieurs commandes pour le déploiement. Les playbooks contiennent en fait toutes les commandes séquentielles qui doivent être exécutées pour effectuer plusieurs tâches. Les playbooks sont au format de fichier YAML.

4. Quelle est l'utilité d'Ansible?

Répondre:
Ansible principalement utilisé dans l'infrastructure informatique pour gérer ou déployer des applications sur des nœuds distants. Supposons que nous voulons déployer une application dans 100 nœuds en exécutant simplement une commande, puis Ansible entre en jeu, mais devrait avoir besoin de quelques connaissances sur le script Ansible pour comprendre ou exécuter la même chose.

5. Quand dois-je utiliser (())? Aussi, comment interpoler des variables ou des noms de variables dynamiques?

Répondre:
L'une des règles standard est «toujours utiliser (()) sauf lorsque:». Les conditions sont toujours exécutées via Jinja2 pour résoudre l'expression. Ainsi, lorsque: failed_when: et changed_when: sont toujours basés sur des modèles et nous devons éviter d'ajouter (()).
Dans d'autres cas, sauf lorsque la clause nous devons utiliser des crochets, sinon la distinction entre une variable non définie et String sera très difficile.

6. Comment générer des mots de passe cryptés pour le module utilisateur?

Répondre:
Un utilitaire mkpasswd normal qui est disponible dans un système Linux normal est une excellente option pour générer des mots de passe cryptés.
mkpasswd –method = sha-512
Si cet utilitaire n'est pas disponible dans notre système, supposons que nous utilisons OS X, nous pouvons également générer facilement ce mot de passe en utilisant Python. Mais pour la même chose, nous devons installer la bibliothèque de hachage de mot de passe Passlib dans notre système.
Une fois installée, la commande d'exécution générera des valeurs de mot de passe SHA512.
python -c “de passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt (getpass.getpass ()) »

7.Quelle est la meilleure façon de rendre le contenu réutilisable / redistribuable?

Répondre:
Il existe 3 façons de réutiliser des fichiers dans les playbooks d'Ansible. 3 façons incluent les importations et les rôles.
Les inclusions et les importations aident en fait à créer plusieurs petits fichiers d'un grand playbook ou à décomposer un grand playbook de plusieurs petits fichiers. Ces petits fichiers peuvent être utilisés sur plusieurs playbooks parents ou même plusieurs fois dans le même playbook.
Les rôles sont principalement utilisés pour gérer plusieurs tâches dans un package ensemble. Il peut inclure des variables, des gestionnaires ou même des modules et autres plugins. Les rôles peuvent également être téléchargés et partagés par Ansible Galaxy.

8. Comment copier des fichiers récursivement sur un hôte cible?

Répondre:
Le module de copie d'Ansible a un paramètre récursif. Mais le plus efficace est d'utiliser le module de synchronisation qui encapsule rsync. Pour le module de synchronisation, nous pouvons utiliser la commande ci-dessous:
-name: copie sur la configuration h5bp
synchroniser: mode = pull src = / tmp / server-configs-nginx / ((item)) dest = / etc / nginx / ((item))
with_items:
- «mime. les types"
- "h5bp /"
Pour copier de distant à distant, utilisez la même commande, comme delegate_to (comme source distante) et l'inventaire_host actuel (comme dest distant).

9.Anbooks Playbooks vs Rôles et Ansible VS Puppet

Répondre:
Ansible Playbook est un système de gestion de configuration et de déploiement multi-machine vraiment simple. Si l'on compare avec un autre, il est très populaire et bien adapté pour déployer une application complexe.
Et les rôles dans Ansible chargent automatiquement certains var_files, tâches et gestionnaires en fonction d'une structure de fichier connue. Rôles regroupant principalement tous les contenus et regroupés. Il permet également de partager facilement les rôles avec d'autres utilisateurs.

AnsibleFantoche
Excellentes performances, installation et déploiement sans agent.Les performances sont peu discutables par rapport à Ansible et il s'agit d'une installation basée sur un agent.
Basé sur le langage PythonBasé sur le langage Ruby
CLI accepte les commandes dans presque tous les langages.Tous les clients doivent apprendre le Puppet DSL.
Comme il est très et mal testé, il ne peut pas toujours fournir une solution appropriée et mature pour chaque situation.Il fournit toujours une solution mature par rapport à Ansible.
L'interface graphique est en cours d'élaboration.Bonne interface graphique
Pas de support pour WindowsPrise en charge de tous les principaux systèmes d'exploitation

10.Différence entre un nom de variable et des variables d'environnement?

Répondre:

Nom de variableVariable d'environnement
Le nom de variable peut être créé en ajoutant String.Pour accéder à la variable d'environnement, vous devez accéder à la variable existante.
((hostvars (inventaire_hôte) ('ansible_' + quelle_interface) ('ipv4') ('adresse')))#… Vars: local_home: “((lookup ('env', 'HOME')))”
Nous pouvons ajouter des chaînesSi nous voulons ajouter la variable, nous devons ouvrir la section des playbooks avancés.
Pour le nom de variable, nous utilisons l'adresse IPV4.Pour les variables d'environnement distant, utilisez ((ansible_env.SOME_VARIABLE))

Article recommandé

Ceci a été un guide pour la liste des questions et réponses d'entrevue Ansible afin que le candidat puisse réprimer facilement ces questions d'entrevue Ansible. C'est le poste le plus utile et le plus utile sur les questions et réponses d'entrevue Ansible. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. 13 questions et réponses étonnantes sur les tests de bases de données
  2. Connaître le Top 5 des questions et réponses d'entrevue SSIS utiles
  3. 5 questions et réponses les plus importantes à Cognos
  4. Top 5 des questions et réponses d'entrevue SSAS les plus utiles
  5. Ansible vs Puppet vs Chef | Les 18 principales différences