English English French French Spanish Spanish German German
Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

28 questions et réponses d'entrevue Terraform en temps réel

questions d'entretien chez terraform
Scanner de sécurité des applications Web Invicti – 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 Terraform en temps réel avec une liste et une explication des commandes importantes souvent posées lors des entretiens.

L'utilisation croissante des technologies cloud a ouvert de nombreuses opportunités dans le monde de DevOps. À l'avenir, les technologies cloud seront un sujet commun pour les questions d'entretien, et les connaissances de base du cloud et Infrastructure en tant que code, les outils IAC seront indispensables pour les rôles DevOps.

What is Terraform?

Terraform est l'un des outils IAC les plus populaires utilisés par tous les ingénieurs cloud. Il nous permet de définir à la fois les ressources cloud et sur site dans des fichiers de configuration lisibles par l'homme et ainsi de provisionner ces ressources par programmation. La caractéristique la plus notable de Terraform est que, contrairement à la plupart des outils IAC, il n'est pas limité à un seul fournisseur de cloud. Vous pouvez utiliser Terraform pour exécuter vos applications sur plusieurs plates-formes cloud simultanément.

Au cas où vous vous demanderiez quelles technologies supportent terraform, voici une petite liste :

Pour avancer dans votre carrière en tant qu'ingénieurs DevOps, Architectes Cloud, Développeurs ou Administrateurs, vous devrez faire face aux questions d'entretien de Terraform. Nous avons compilé une liste des principales questions d'entretien sur Terraform qui devraient vous aider à améliorer vos connaissances sur Terraform.

General Terraform Interview Questions and Answers

 # 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 versionner votre infrastructure sur plusieurs plates-formes cloud.

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

L'utilisation de Terraform pour l'approvisionnement de l'infrastructure ne laisse aucune place aux erreurs humaines, améliorant ainsi la qualité, la cohérence et l'efficacité de l'infrastructure cloud et sur site. Terraform utilise le langage HCL, qui est assez similaire à JSON et facile à apprendre et à utiliser. Contrairement aux autres outils IAC proposés par les fournisseurs de cloud comme Formation de nuages pour AWS, nous pouvons utiliser Terraform avec plusieurs plates-formes 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 les fournisseurs Terraform pour interagir avec les API sur les plates-formes cloud et fournir nos ressources. En tant qu'utilisateur final, le flux de travail terraform comporte trois étapes.

Écrire: Créer l'infrastructure en tant que code.

Plan : prévisualisez les modifications apportées par Terraform avant de les appliquer.

Appliquer: provisionnez l'infrastructure et appliquez les modifications.

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

Terraform Cloud est un environnement distant optimisé pour le workflow Terraform. Il fournit des fonctionnalités telles que les espaces de travail et le verrouillage d'état, 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 sous sa gestion. Terraform stocke ces informations dans un fichier appelé fichier d'état.

# 6. Quel est l'avantage de Terraform State ?

L'état de Terraform permet à Terraform de mapper des ressources du monde réel à votre configuration, de suivre les métadonnées et d'améliorer les performances lors de la planification de modifications pour des infrastructures complexes. C'est un composant essentiel de Terraform.

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

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

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

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

# 9. Qui gère les fournisseurs Terraform ?

Les fournisseurs sont distribués séparément de Terraform lui-même. En tant qu'utilisateur de Terraform, n'importe qui peut développer ses propres fournisseurs. Certains fournisseurs standard sont maintenus explicitement par Hashicorp.

# 10. Qu'est-ce que Sentinelle ?

Sentinelle est une politique en tant qu'outil de code utilisé pour appliquer des 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 telles que des sous-réseaux et des passerelles Internet. Les modules peuvent être partagés publiquement via le registre des modules publics et en privé via le registre des modules privés.

# 12. Quel est l'avantage 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 de manière standard.

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

Une fonctionnalité de registre de modules privés Terraform Cloud nous permet de partager des modules Terraform au sein de notre organisation.

Advanced Terraform Interview Questions and Answers

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

Nous pouvons exporter les 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 pouvez-vous définir des dépendances dans Terraform ?

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

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

Des dépendances explicites peuvent être spécifiées dans les cas où deux ressources dépendent en interne l'une de l'autre sans partager aucune sortie. Cela peut être fait en utilisant le paramètre depend_on dans le bloc de configuration.

# 14. Que sont les provisionneurs dans Terraform ?

Les fournisseurs 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 d'approvisionneurs dans Terraform :

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

Les ravitailleurs ne sont destinés à être utilisés qu'en dernier recours dans Terraform.

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

Tout comme le fournisseur d'exécution local, le bloc de données externe peut être utilisé pour exécuter des scripts sur des machines exécutant Terraform. La différence entre un approvisionneur et le bloc de données externe est que les scripts du bloc de données externe peuvent renvoyer des données au format JSON, tandis que les approvisionneurs ne peuvent renvoyer aucune sortie. Il est important de noter que les blocs de données externes sont également destinés à être un dernier recours et ne doivent pas être utilisés s'il existe une meilleure alternative.

# 16. Comment deux personnes utilisant le cloud Terraform peuvent-elles créer deux ensembles d'infrastructures 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 Terraform dans deux espaces de travail distincts. Chaque espace de travail a son propre fichier d'état, donc tant que les ressources ne se chevauchent pas, les deux utilisateurs peuvent provisionner avec succès deux ensembles d'infrastructure 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 a une fonctionnalité très importante appelée "verrouillage d'état". Cette fonctionnalité garantit qu'aucune modification n'est apportée au fichier d'état pendant une exécution et empêche le fichier d'état d'être corrompu. Il est important de noter que tous les backends Terraform ne prennent pas en charge la fonction de verrouillage d'état. Vous devez choisir le bon backend si cette fonctionnalité est une exigence.

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

Une ressource null terraform est une configuration qui s'exécute comme un bloc de ressources terraform standard mais ne crée aucune ressource. Cela peut sembler une ressource étrange et inutile, mais cela peut être utile dans diverses situations pour contourner les limitations de Terraform.

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

En utilisant l'argument alias dans le bloc provider.

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

Terraform détruira toutes les ressources. Commencer une course à vide avec terraform apply commande est exactement la même que le démarrage de l'exécution de destruction de terraform.

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

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

# 22. Quelle valeur de TF_LOG variable fournit la journalisation la plus détaillée ?

TRACE est la valeur la plus détaillée et la valeur par défaut de TF_LOG variable.

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

En utilisant le terraform import commander.

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

, terraform plan La commande génère le plan d'exécution des modifications que Terraform apportera à l'infrastructure.

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

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

# 26. Quelle commande peut être utilisée pour basculer entre les espaces de travail lors de l'utilisation de Terraform Cloud ?

, terraform workspace select <workspace-name> La commande est utilisée pour choisir un espace de travail différent.

# 27. Quelle commande est utilisée pour effectuer la validation de la syntaxe sur les fichiers de configuration terraform ?

, terraform validate La commande est utilisée pour vérifier si une configuration est syntaxiquement valide et cohérente en interne.

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

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

Some other important terraform commands for technical interviews.

  • initialisation de terraform : 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 terraform : génère le plan d'exécution pour la création ou la mise à jour de l'infrastructure.
  • terraform appliquer: crée ou met à jour l'infrastructure après avoir demandé la confirmation de l'utilisateur.
  • terraform appliquer - approuver automatiquement : crée ou met à jour l'infrastructure ; l'étape d'approbation de l'utilisateur est ignorée.
  • terraform détruit : supprime l'infrastructure après demande de confirmation à l'utilisateur.
  • terraform destroy –approbation automatique : supprime l'infrastructure ; l'étape d'approbation de l'utilisateur est ignorée.
  • terraform fmt: analyse le répertoire actuel à la recherche de fichiers de configuration et les formate selon le style et le format canonique HCP.
  • terraform fmt –récursif : scanne le répertoire courant ainsi que les sous-répertoires pour les fichiers de configuration et les formate selon le style et le format canonique HCP.
  • spectacle de terraform : 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 un Emploi Terraform.

Merci à nos commanditaires
Plus de bonnes lectures sur le Cloud Computing
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise 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, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder