Erste Schritte mit Terraform-Modulen

Blog

Einführung

In diesem Artikel werden wir eine subtile Einführung in Terraform-Module sehen, wie man Daten in das Modul übergibt, etwas aus dem Modul bekommt und eine Ressource (GKE-Cluster) erstellt. Es soll so einfach wie möglich sein, nur um zu wissen, was ein Modul besteht aus oder wie können Sie Ihre eigenen Module erstellen, manchmal ist es sinnvoll, Module zu haben, um Implementierungen zu abstrakten, die Sie über mehrere Projekte hinweg verwenden, oder Dinge, die sich oft im Projekt wiederholen. Sehen wir uns also an, was es braucht, um ein Modul zu erstellen und zu verwenden.

mehr zur Ablaufsteuerung in js 1/14

Den Quellcode für diesen Artikel finden Sie Hier . Beachten Sie, dass ich in diesem Beispiel die GCP verwende, da sie Ihnen 300 USD für ein Jahr geben, um ihre Dienste auszuprobieren, und es sieht bisher ziemlich gut aus. Nach der Anmeldung müssen Sie zu IAM gehen, dann ein Dienstkonto erstellen und danach die den Schlüssel exportieren (dies ist erforderlich, damit der Terraform-Anbieter mit der GCP kommunizieren kann).

Aufbau eines Moduls

Ein Modul kann ein beliebiger Ordner mit einem |_+_| . sein Datei drin, ja, das ist das einzige erforderlich Datei, damit ein Modul verwendbar ist, aber die Empfehlung ist, dass Sie auch ein |_+_| Datei mit einer Beschreibung des Moduls wenn es von Leuten benutzt werden soll wenn es ein Untermodul ist ist es nicht notwendig, außerdem brauchst du eine Datei namens |_+_| und andere |_+_| Wenn es sich um ein großes Modul handelt, das nicht in Untermodule aufgeteilt werden kann, können Sie diese Dateien natürlich aus Gründen der Übersichtlichkeit oder Lesbarkeit aufteilen. Variablen sollten Beschreibungen haben, damit die Tools Ihnen zeigen können, wofür sie dienen. Sie können mehr über die Grundlagen für ein Modul lesen Hier .

Bevor wir fortfahren, sehen wir uns die Ordnerstruktur unseres Projekts an:

Java

1

main.tf

2

README.md

3

variables.tf

4

outputs.tf

5

├── account.json

6

├── LICENSE

7

├── main.tf

8

├── module

9

│ ├── main.tf

10

elf

│ ├── outputs.tf

Das Projekt

Beginnen wir mit dem |_+_| das ruft unser Modul auf. Beachten Sie, dass ich ein paar zusätzliche Kommentare hinzugefügt habe, aber es ist ziemlich einfach, wir setzen den Provider, dann definieren wir einige Variablen, rufen unser Modul auf und geben eine Ausgabe aus (Ausgabe kann auch verwendet werden, um Daten zwischen Modulen zu übertragen ).

Java

1

│ └── variables.tf

2

├── README.md

3

└── terraform.tfvars

4

1 directory, 8 files

5

main.tf

6

## Set the provider to be able to talk to GCP

7

Wie man Octa-Krypto kauft

8

provider 'google' {

9

credentials = '${file('account.json')}'

10

project = '${var.project_name}'

elf

region = '${var.region}'

12

}

13

disney plus hilfezentrum code 83

14

## Variable definition

fünfzehn

variable 'project_name' {

16

default = 'testinggcp'

17

type = 'string'

18

19

}

zwanzig

variable 'cluster_name' {

einundzwanzig

default = 'demo-terraform-cluster'

22

type = 'string'

2. 3

24

}

25

variable 'region' {

26

default = 'us-east1'

27

type = 'string'

28

29

}

30

Wie baut man einen Web Scraper in Python?
variable 'zone' {

31

default = 'us-east1-c'

32

type = 'string'

33

}

3. 4

## Call our module and pass the var zone in, and get cluster_name out

35

36

module 'terraform-gke' {

37

source = './module'

38

zone = '${var.zone}'

39

cluster_name = '${var.cluster_name}'

Dann |_+_| hat einige Werte, um die von uns definierten Standardwerte zu überschreiben:

Java

1

}

2

## Print the value of k8s_master_version

3

output 'kubernetes-version' {

4

roku com link Konto erstellen
value = module.terraform-gke.k8s_master_version

#tutorial #devops #terraform #gcp cloud #terraform Tutorial #kubernetes für Anfänger #terraform Module

dzone.com

Erste Schritte mit Terraform-Modulen

Erstellen Sie Ihr erstes Terraform-Modul und testen Sie es kostenlos in Google Cloud mit Google Kubernetes Engine. In diesem Artikel werden wir eine subtile Einführung in Terraform-Module sehen.