Sobes.tech
Middle

Πώς καθορίζει το Terraform σε ποιο αρχείο βρίσκεται η πληροφορία;

sobes.tech AI

Απάντηση από AI

Το Terraform φορτώνει και επεξεργάζεται αυτόματα όλα τα αρχεία με επεκτάσεις .tf και .tfvars στον κατάλογο από τον οποίο εκτελείται (κατάλογος εργασίας). Δεν απαιτείται να ορίζετε ρητά τα αρχεία.

  • Τα αρχεία .tf περιέχουν τα βασικά μπλοκ διαμόρφωσης: πόρους, παρόχους, μεταβλητές, εξόδους, modules κ.λπ.
  • Τα αρχεία .tfvars περιέχουν ορισμούς τιμών για τις μεταβλητές που δηλώνονται στα αρχεία .tf. Μπορούν επίσης να χρησιμοποιηθούν αρχεία με ονόματα όπως terraform.tfvars ή ένα αρχείο με το όνομα του περιβάλλοντος και την επέκταση .tfvars (π.χ., dev.tfvars) για αυτόματη φόρτωση.

Το Terraform συνδυάζει τις πληροφορίες από όλα αυτά τα αρχεία για να κατασκευάσει το τελικό γράφημα εξαρτήσεων και το σχέδιο εκτέλεσης.

Παράδειγμα δομής καταλόγου:

/project
├── main.tf         # Κύριοι πόροι
├── variables.tf    # Δήλωση μεταβλητών
├── outputs.tf      # Δήλωση εξόδων
├── terraform.tfvars # Τιμές μεταβλητών για το προεπιλεγμένο περιβάλλον
└── modules/
    └── vpc/
        ├── main.tf
        ├── variables.tf
        └── outputs.tf

Σε αυτό το παράδειγμα, κατά την εκτέλεση από το /project, το Terraform θα φορτώσει τα main.tf, variables.tf και outputs.tf. Οι τιμές από το terraform.tfvars θα εφαρμοστούν στις μεταβλητές που δηλώνονται στο variables.tf. Το module /modules/vpc θα φορτωθεί αν καλείται σε ένα από τα αρχεία ανώτερου επιπέδου.

Είναι σημαντικό να σημειωθεί ότι η σειρά των δηλώσεων μέσα σε ένα αρχείο ή μεταξύ αρχείων δεν έχει σημασία για το Terraform. Δημιουργεί το γράφημα εξαρτήσεων και εκτελεί τις λειτουργίες παράλληλα, αν είναι δυνατόν, βασιζόμενο στους δεσμούς μεταξύ πόρων και άλλων στοιχείων διαμόρφωσης.