Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Informatique en nuage et DevOps Dernière mise à jour : 16 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Voici 28 questions et réponses d'entretien sur Terraform en temps réel, avec une liste et une explication des commandes importantes souvent demandées lors des entretiens.

L'augmentation de l'utilisation des technologies cloud a ouvert de nombreuses opportunités dans le monde du DevOps. À l'avenir, les technologies en nuage seront un sujet courant dans les questions d'entretien, et des connaissances de base sur les technologies en nuage et le DevOps seront nécessaires. L'infrastructure en tant que codeLes outils IAC seront indispensables pour les rôles DevOps.

Qu'est-ce que Terraform ?

Terraform est l'un des outils IAC les plus populaires, utilisé par tous les ingénieurs en informatique dématérialisée. Il nous permet de définir des ressources dans le nuage et sur site dans des fichiers de configuration lisibles par l'homme et de provisionner ainsi ces ressources de manière programmatique. La caractéristique la plus remarquable de Terraform est que, contrairement à la plupart des outils IAC existants, il n'est pas limité à un seul fournisseur de cloud. Vous pouvez utiliser Terraform pour exécuter vos applications sur plusieurs plateformes cloud simultanément.

Au cas où vous vous demanderiez quelles sont les technologies prises en charge par terraform, voici une petite liste :

Pour aller de l'avant dans votre carrière en tant qu'ingénieur DevOpsQue vous soyez Architecte Cloud, Développeur ou Administrateur, vous serez confronté à des questions d'entretien sur Terraform. Nous avons compilé une liste des meilleures questions d'entretien sur Terraform qui devraient vous aider à améliorer vos connaissances sur Terraform.

Questions générales d'entretien sur Terraform et réponses

 #1. Qu'entendez-vous par Terraform ?

Terraform est un outil IAC open-source créé par HashiCorp. Il est utilisé pour créer, mettre à jour, supprimer et modifier les versions de votre infrastructure sur plusieurs plateformes en nuage.

#2. Quelles sont les raisons de choisir Terraform pour DevOps ?

L'utilisation de Terraform pour le provisionnement de l'infrastructure ne laisse aucune place aux erreurs humaines, ce qui permet d'améliorer la qualité, la cohérence et l'efficacité de l'infrastructure en nuage et sur site. Terraform utilise le langage HCL, qui est assez similaire à JSON et facile à apprendre et à utiliser. Contrairement aux autres outils de CAI proposés par les fournisseurs de services en nuage, tels que Formation en nuage pour AWS, nous pouvons utiliser Terraform avec un certain nombre de plateformes cloud simultanément. Cela évite d'avoir à apprendre plusieurs outils IAC et améliore la portée de la collaboration.

#3. Comment fonctionne Terraform ?

Terraform utilise des plugins appelés "fournisseurs Terraform" pour interagir avec les API des plates-formes Cloud et fournir nos ressources. En tant qu'utilisateur final, le flux de travail de Terraform comporte trois étapes.

Écrire: Rédiger l'infrastructure en tant que code.

Plan: Prévisualiser les modifications apportées par Terraform avant de les appliquer.

Appliquer: Fournir l'infrastructure et appliquer les changements.

#4. Qu'entendez-vous par Terraform cloud ?

Terraform Cloud est un environnement distant optimisé pour le flux de travail Terraform. Il offre des fonctionnalités telles que les espaces de travail et le verrouillage des états, ce qui permet aux membres de grandes équipes de collaborer.

#5. Qu'entendez-vous par "État" dans Terraform ?

En tant qu'outil IAC, terraform doit connaître l'état actuel des configurations et de l'infrastructure qu'il gère. Terraform stocke ces informations dans un fichier appelé fichier d'état.

#6. Quels sont les avantages de Terraform State ?

L'état Terraform permet à Terraform de faire correspondre les ressources du monde réel à votre configuration, de garder une trace des métadonnées et d'améliorer les performances lors de la planification des changements pour les infrastructures complexes. Il s'agit d'un composant essentiel de Terraform.

#7. Qu'entendez-vous par Terraform Backend ?

Le backend Terraform est la plate-forme où sont stockés les instantanés d'état Terraform. Par défaut, Terraform utilise un backend appelé local pour stocker l'état dans un fichier local sur votre disque. Tous les autres backends pris en charge sont des services de stockage à distance.

#8. Qu'est-ce qu'un fournisseur dans Terraform ?

Les fournisseurs dans Terraform sont des plugins qui permettent à Terraform d'interagir avec des fournisseurs de cloud, des fournisseurs SaaS et d'autres API. Par exemple, si nous prévoyons d'utiliser Terraform pour provisionner une infrastructure sur AWS, nous devrons déclarer un fournisseur AWS dans nos fichiers de configuration.

#9. Qui assure la maintenance des fournisseurs Terraform ?

Les fournisseurs sont distribués séparément de Terraform. En tant qu'utilisateur de Terraform, chacun peut développer ses propres fournisseurs. Certains fournisseurs standards sont maintenus explicitement par Hashicorp.

#10. Qu'est-ce que Sentinel ?

Sentinelle est un outil de politique en tant que code utilisé pour renforcer les configurations standard pour les ressources déployées par Terraform. Il peut être utilisé par les organisations à des fins de conformité et de gouvernance.

#11. Qu'entendez-vous par modules dans Terraform ?

Un module Terraform est un conteneur standard pour plusieurs ressources utilisées ensemble pour provisionner et configurer des ressources. Par exemple, vous pouvez créer un "module VPC" pour votre organisation qui provisionne un VPC standard et d'autres ressources comme des sous-réseaux et des passerelles Internet. Les modules peuvent être partagés de manière publique via le registre de modules public et de manière privée via le registre de modules privé.

#12. Quel est l'intérêt d'utiliser des modules dans terraform ?

Les modules Terraform nous permettent de créer une abstraction logique au-dessus d'un ensemble de ressources. L'utilisation de modules nous permet de maintenir et de réutiliser une configuration standard pour les ressources. Ils peuvent être versionnés et partagés avec les membres de vos équipes pour provisionner les ressources d'une manière standard.

#13. Qu'est-ce que le registre des modules privés ?

La fonction Private Module Registry Terraform Cloud nous permet de partager des modules Terraform au sein de notre organisation.

Questions d'entretien avancées sur Terraform et réponses

#14. Comment exporter des données d'un module à l'autre ?

Nous pouvons exporter des données d'un module en définissant des blocs de sortie dans les fichiers de configuration du module. Ces données peuvent ensuite être transférées en tant que paramètre au module de destination.

#13. Comment définir des dépendances dans Terraform ?

Terraform dispose d'une gestion intégrée des dépendances. Terraform propose deux types de dépendances entre les ressources : les dépendances implicites et les dépendances explicites.

Les dépendances implicites, comme leur nom l'indique, sont détectées automatiquement par Terraform. C'est le cas lorsque la sortie d'une "ressource A" est utilisée dans une "ressource B". Terraform détecte automatiquement que la "ressource B" ne doit être créée qu'après la "ressource A"

Des dépendances explicites peuvent être spécifiées dans les cas où deux ressources sont dépendantes en interne l'une de l'autre sans partager aucune sortie. Pour ce faire, il convient d'utiliser le paramètre depends_on dans le bloc de configuration.

#14. Que sont les provisionneurs dans Terraform ?

Les provisionneurs sont des ressources Terraform utilisées pour exécuter des scripts dans le cadre de la création ou de la destruction de ressources. Il existe deux types de provisionneurs dans Terraform :

  • local-exec : Invoque un script sur la machine qui exécute Terraform.
  • exécution à distance : Invoque un script sur une ressource distante après sa création.

Les provisionneurs ne doivent être utilisés qu'en dernier recours dans Terraform.

#15. Qu'est-ce que le bloc de données externes dans Terraform ?

Tout comme le provisionneur local-exec, le bloc de données externes peut être utilisé pour exécuter des scripts sur des machines exécutant Terraform. La différence entre un provisionneur et un bloc de données externe est que les scripts dans le bloc de données externe peuvent renvoyer des données au format JSON, alors que les provisionneurs ne peuvent renvoyer aucun résultat. Il est important de noter que les blocs de données externes sont également conçus pour être utilisés en dernier recours et ne doivent pas être utilisés s'il existe une meilleure alternative.

#16. Comment deux personnes utilisant le nuage Terraform peuvent-elles créer deux ensembles d'infrastructure différents en utilisant le même répertoire de travail ?

En utilisant différents espaces de travail. Ces utilisateurs peuvent lancer des exécutions de Terraform dans deux espaces de travail distincts. Chaque espace de travail dispose de son propre fichier d'état. Ainsi, tant que les ressources ne se chevauchent pas, les deux utilisateurs peuvent approvisionner avec succès deux ensembles d'infrastructures différents en utilisant le même code.

#17. Que se passe-t-il lorsque plusieurs ingénieurs commencent à déployer une infrastructure en utilisant le même fichier d'état ?

Terraform dispose d'une fonctionnalité très importante appelée "verrouillage de l'état". Cette fonctionnalité garantit qu'aucune modification n'est apportée au fichier d'état au cours d'une exécution et évite que le fichier d'état ne soit corrompu. Il est important de noter que tous les backends Terraform ne supportent pas la fonctionnalité de verrouillage d'état. Vous devez choisir le bon backend si cette fonctionnalité est nécessaire.

#18. Qu'est-ce qu'une ressource nulle dans Terraform ?

Une ressource terraforme nulle est une configuration qui fonctionne comme un bloc de ressources terraforme standard, mais qui ne crée aucune ressource. Cela peut sembler être une ressource étrange et inutile, mais elle peut être utile dans diverses situations pour contourner les limitations de Terraform.

#19. Comment utiliser le même fournisseur dans Terraform avec différentes configurations ?

En utilisant l'argument de l'alias dans le bloc du fournisseur.

#20. Vous avez un fichier de configuration Terraform sans ressources. Que se passe-t-il lorsque vous exécutez la commande terraform apply commande ?

Terraform détruira toutes les ressources. En démarrant une exécution vide avec terraform apply est exactement la même chose que de lancer l'exécution de la destruction de la terraforme.

#21. Que se passe-t-il si une ressource a été créée avec succès dans terraform mais a échoué lors de l'approvisionnement ?

Il s'agit d'un scénario peu probable, mais lorsque cela se produit, la ressource est marquée comme altérée et peut être recréée en redémarrant l'exécution de la terraforme.

#22. Quelle est la valeur du TF_LOG fournit la journalisation la plus verbeuse ?

TRACE est la valeur la plus verbeuse et la valeur par défaut de l'option TF_LOG variable.

#23. Comment importer des ressources existantes sous Terraform Management ?

En utilisant le terraform import commande.

#24. Quelle commande peut être utilisée pour prévisualiser le plan d'exécution de la terraforme ?

Les terraform plan génère le plan d'exécution des modifications que Terraform va apporter à l'infrastructure.

#25. Quelle commande peut être utilisée pour réconcilier l'état de Terraform avec l'infrastructure réelle ?

Les terraform apply -refresh-only est utilisée pour réconcilier l'état de Terraform avec l'infrastructure réelle. C'est la nouvelle alternative à la commande terraform refresh qui est désormais obsolète.

#26. Quelle commande permet de passer d'un espace de travail à l'autre lors de l'utilisation de Terraform Cloud ?

Les terraform workspace select <workspace-name> permet de choisir un autre espace de travail.

#27. Quelle commande permet de valider la syntaxe des fichiers de configuration de terraform ?

Les terraform validate est utilisée pour vérifier si une configuration est syntaxiquement valide et cohérente sur le plan interne.

#28. Quelle commande est utilisée pour créer de nouveaux espaces de travail dans le nuage Terraform ?

Les terraform workspace new <workspace-name> est utilisée pour créer un nouvel espace de travail.

Quelques autres commandes terraform importantes pour les entretiens techniques.

  • terraform init : Initialise les backends distants ; télécharge les fournisseurs et les modules distants définis dans votre configuration.
  • terraform init -upgrade : utilisé pour mettre à niveau les fournisseurs téléchargés existants.
  • plan de terraformation : génère le plan d'exécution pour la création ou la mise à jour de l'infrastructure.
  • terraformer s'appliquent : crée ou met à jour l'infrastructure après avoir demandé confirmation à l'utilisateur.
  • terraform apply -auto-approve : crée ou met à jour l'infrastructure ; l'étape de l'approbation par l'utilisateur est sautée.
  • terraformer détruire : supprime l'infrastructure après avoir demandé confirmation à l'utilisateur.
  • terraformer détruire -auto-approuver : supprime l'infrastructure ; l'étape d'approbation par l'utilisateur est sautée.
  • terraform fmt: recherche dans le répertoire courant les fichiers de configuration et les formate selon le style et le format canoniques de l'HCP.
  • terraform fmt -recursive : analyse le répertoire courant ainsi que les sous-répertoires à la recherche de fichiers de configuration et les formate selon le style et le format canoniques de l'HCP.
  • spectacle de terraformation : fournit une sortie lisible par l'homme à partir d'un fichier d'état ou de plan.

J'espère que les informations ci-dessus vous aideront à obtenir une Travail Terraform.

  • Naman Yash
    Auteur
Merci à nos sponsors
Autres lectures sur l'informatique dématérialisée
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus