i parfois voir que terraform s'appliquer em> a un "plan" différent de le plan Terraform em>. Par exemple, j'ai vu aujourd'hui un des fichiers de TF que j'essaye à " terraform s'appliquer em>" a entraîné seulement 1 "changement" et 1 "Ajouter" alors qu'il a obtenu "3 Ajouter" "," 1 changer "et" 3 Détruire "lors de l'utilisation" Plan TaRaForm " p> J'utilise Terraform pour seulement deux mois. Est-ce que ce comportement prévu dans Terraform? P> Quelqu'un pourrait-il donner une explication à ce comportement? Merci! P> Terraform version: 0.11.13
4 Réponses :
Pouvez-vous expliquer le scénario complet? Normalement, dans mon expérience c'est la même. Différence que je ne peux voir que - soit que vous utilisez un fichier variable avec plan et appliquer et certaines variables entraînent des ressources et une autre solution peut être si vous utilisez un emplacement distant pour l'état et un autre travail / personne à la mise à jour de l'état. Si vous courez tout localement, cela ne devrait pas arriver comme ça. p>
TERRAFORM construit un graphique de toutes les ressources. Il crée ensuite les ressources non dépendantes en parallèle pour rendre la création de ressources légèrement efficace. Est-ce que toute création de ressources échoue, il laisse Terraform dans un état partiellement appliqué qui est enregistré dans le fichier Tfstate. Après avoir corrigé le problème avec la ressource, lorsque vous réappliquez les fichiers .TF, cela ne vous indique que les nouvelles ressources à modifier. Dans votre cas, je pense que cela a davantage à faire avec le fait que certaines ressources ont une politique de "détruire-avant-création" qui apparaît en résultat. Ainsi, lorsque vous appliquez une modification de 1 ressource, cela finit par montrer 1 ressource supprimée 1 créée. Ceci lorsqu'il se produit avec des ressources de type non «Destroy-avant-avant-création», finit par vous donner une sortie comme ce que vous avez mentionné ci-dessus p>
Ce n'est pas un comportement prévu de Terraform à moins que s'il y ait un gâchis n'importe où. Je n'ai jamais vu ce genre de problème à tout moment jusqu'à présent. Avez-vous déjà édité ou supprimé votre fichier d'état .TFstate après avoir passé la commande Plan TerraForm? Si vous observez à nouveau ce problème ou si vous êtes toujours confronté à ce type de problème, vous pouvez probablement ouvrir un problème avec le propriétaire du produit. Mais je ne pense pas que ce soit un problème et que vous ne rencontrerez plus jamais ce genre de problème. P>
Ceci est un comportement inattendu, mais la meilleure pratique de: p>
Il enregistre le plan dans le fichier deploy.tfplan. P>
Cela garantira que le plan que vous souhaitez est exécuté tout le temps sans échec. P>
Pouvez-vous modifier votre question pour partager votre code Terraform existant, votre plan et appliquer des sorties différentes et potentiellement tout ce qui est spécial sur votre environnement ici?
Cela se produit-t-il également lorsque vous exécutez Terraform comme ceci:
Terraform Plan -out "Planfile" Code> etTerraform Apply -Input = False "planfile" code>? Terraform devrait ensuite appliquer exactement (et seulement) ces changements forment la commande Terraform Plan ...