Wie man das Terraform Command Line Interface (CLI) unter Ubuntu benutzt

Terraform ist ein Framework für den Aufbau und die Konfiguration von Infrastruktur als Code, mit einer Befehlszeilenschnittstelle und einer DSL-Sprache. Terraform kann sowohl bestehende und gängige Dienstanbieter als auch benutzerdefinierte Inhouse-Lösungen verwalten, um komplette verteilte Rechenzentren aufzubauen und zu konfigurieren.

Mit dem Terraform Command Line Interface (CLI) kannst du Terraform nutzen, ohne Code oder Konfigurationsdateien schreiben zu müssen. Es ist ideal, um mit deinem Team Änderungen an der Infrastruktur auszuprobieren, bevor du Code schreibst, Konfigurationen lokal auf deinem Rechner bereitstellst oder sie in die Produktion überführst. Das CLI baut auf dem terraformspec-Dateiformat auf, das zu diesem Zweck von Drittanbietern wie dem HashiCorp Nomad CLI Toolkit entwickelt wurde.

Das CLI-Toolkit implementiert eine JavaScript-DSL, um die Infrastruktur zu definieren, und verwendet sowohl in Terraform als auch im CLI das gleiche Konfigurationsformat. Das CLI-Toolkit bietet außerdem Befehle, um Infrastrukturvorlagen zu erstellen, Infrastrukturkomponenten zu Komplettlösungen zusammenzustellen und Änderungen zu verwalten. Der gesamte Terraform-Workflow wird durch zustandslose Funktionen gesteuert, die im Code definiert sind und von Terraform bei jeder Änderung ausgeführt werden. So kannst du deine Infrastruktur als ein einziges Design betrachten, das zur Laufzeit einfach geändert werden kann, ohne dass du deine Konfiguration neu laden oder deine Codebasis ändern musst.

Viele IT-Fachleute und Unternehmen nutzen die Terraform-Befehlszeilenschnittstelle, um neue Infrastrukturen oder neue Cloud-Infrastrukturen zu verwalten und sogar zu erstellen. Die Terraform-Befehlszeilenschnittstelle ist eine robuste Methode zur Automatisierung von Änderungen, die von Hand zu lange dauern würden. Es ist ein mächtiges Werkzeug für die Verwaltung von Infrastrukturen.

Es ist leicht zu erkennen, warum Terraform eine der weltweit beliebtesten Open-Source-Lösungen für die Cloud-Bereitstellung ist. Es ist ein Tool, das von Linuxern wie dir benutzt wird!

Hier findest du vollständige Erklärungen und Beispiele für die am häufigsten verwendeten Terraform CLI-Befehle, die speziell ausgewählt wurden, um dir praktische Erfahrungen mit den leistungsfähigsten Funktionen von Terraform zu vermitteln.

Voraussetzung

  • Um diesem Artikel folgen zu können, solltest du Folgendes mitbringen
  • Ein gewisses Grundwissen über die Eigenschaften und Funktionen von Terraform.
  • Einen Linux-Rechner. In dieser Demo wird Ubuntu 20.04 LTS verwendet, aber jede Linux-Distribution ist geeignet.
  • Terraform und Docker sind auf dem Rechner installiert.

Klonen des Hauptcodes

Nachdem du dich um die Voraussetzungen gekümmert hast, kannst du mit dem Klonen des Hauptcodes beginnen, um das Terraform CLI zu verwenden.

1. Führe den Befehl apt install aus, um Git auf deinem System zu installieren. Git ist ein verteiltes Open-Source-Revisionskontrollsystem, mit dem sich sowohl kleine als auch sehr große Projekte schnell und effizient bearbeiten lassen. Mit git klonst du die Projektvorlage für die Terraform-Befehlszeilenschnittstelle von github.com. Dann checkst du die richtige Version der terraform Kommandozeile für diese Demo aus.

sudo apt install git -y

Installiere Git auf deinem System

2. Führe den Befehl git clone aus, um die terraform Kommandozeilen-Projektvorlage in dein aktuelles Verzeichnis zu klonen.

git clone https://github.com/howtoforge-com/terraform-cli.git

die terraform Kommandozeilen-Projektvorlage klonen

3. Wechsle in das neu geklonte terraform-cli Verzeichnis und öffne die Datei main.tf mit deinem bevorzugten Texteditor (vim, emacs, nano, etc.). Die Datei main.tf ist der Einstiegspunkt deines Projekts in die terraform-Befehlszeilenschnittstelle (Cli). Wenn du den terraform-Befehl ausführst, verwendet er die Datei main.tf als Eingabe für die Anweisungen, wie du deine Infrastruktur aufbauen sollst.

cd terraform-cli && sudo nano main.tf

Du erhältst die folgende Ausgabe.

Öffne die Datei main.tf mit deinem bevorzugten Texteditor

  • Der Abschnitt terraform { } in der Datei main.tf tut nichts weiter, als den Docker-Provider als required_provider zu setzen. Damit Terraform deine Docker-Infrastruktur verwalten kann, musst du den Docker-Provider konfiguriert haben.

Vorschau auf den Terraform-Abschnitt

  • Die Ressource „docker_image“ „nginx“ { Codeblock demonstriert die Verwendung des Terraform CLI, indem er eine neue Ressource namens docker_image erstellt. Die nächste Zeile verwendet das docker-image, um eine Ressource namens nginx zu erstellen. Daraus kannst du schließen, dass diese zur Verwaltung deines Docker-Containers verwendet wird. In der nächsten Zeile wird der Name deines Docker-Images auf nginx:latestgesetzt . keep_locally = false verhindert, dass das Image lokal auf deinem Rechner zwischengespeichert wird und ist eine gute Idee, um doppelte Downloads zu vermeiden.

Vorschau auf den Ressourcenbereich

  • DieRessource „docker_container“ „nginx“ { demonstriert die Verwendung des terraform CLI, indem eine neue Ressource namens docker_container erstellt wird. In der nächsten Zeile wird die Ressource “ docker_container“ verwendet, um eine Ressource namens “ nginx“ zu erstellen. Diese wird verwendet, um die Port-Zuordnung deines Docker-Containers zu verwalten. In der nächsten Zeile wird der Name deines Docker-Containers auf tutorial gesetzt und schließlich wird gezeigt, wie du die Ports 8000 und 80 auf deinem Host-Rechner mithilfe des Ports-Blocks auf deinen Docker-Container abbildest.

Vorschau auf den Ressourcenbereich

Die Terraform-Befehlszeilenschnittstelle (CLI) verwenden, um deine erste Infrastruktur aufzubauen

Jetzt, wo du die Terraform-Projektvorlage geklont hast, kannst du deine erste Infrastruktur aufbauen. Du verwendest die Terraform-Befehlszeilenschnittstelle (CLI), um eine Infrastruktur mit der Datei main.tf deines Projekts zu erstellen. Du erstellst einen Docker-Container und ordnest dem Docker-Container einen Port von deinem Host-Rechner zu.

1. Führe zunächst den Befehl terraform init aus, um dein Arbeitsverzeichnis zu initialisieren. Der Befehl terraform init initialisiert dein Arbeitsverzeichnis und lädt alle erforderlichen Plugins herunter, die Terraform für die Verwaltung deiner Infrastruktur benötigt. Das Arbeitsverzeichnis ist das Verzeichnis, in dem du mit dem terraform-Befehl deine Infrastruktur verwalten wirst. Nach der Initialisierung enthält dieses Verzeichnis eine main.tf-Datei und kann mehrere unterstützende Dateien enthalten.

terraform init

Wenn du den Befehl terraform init erfolgreich ausgeführt hast, erhältst du die folgende Ausgabe.

initialisiere dein Arbeitsverzeichnis

2. Als Nächstes führst du den Befehl terraform fmt aus, um deine Datei main.tf automatisch zu formatieren , damit sie lesbar und konsistent ist.Der Befehl terraform fmt formatiert deine Datei main.tf neu, damit sie lesbar und konsistent ist. Das ist eine gute Vorgehensweise, denn so sind deine Dateien für dich und andere leichter zu lesen.

terraform fmt

Wenn der Befehl terraform fmt deine main.tf-Dateienverändert hat, gibt er den Namen der umformatierten Datei aus. In diesem Beispiel ist die Ausgabe leer, weil die Datei main.tf bereits nach Terraforms Wünschen formatiert wurde, wie unten gezeigt.

Formatiere deine main.tf-Datei für bessere Lesbarkeit und Konsistenz

3. Führe den Befehl terraform validate aus, um sicherzustellen, dass deine Infrastruktur wie vorgesehen aufgebaut wird. Der terraform validate Befehl ist ein Sicherheitscheck, um sicherzustellen, dass deine Infrastruktur wie vorgesehen gebaut werden kann.

terraform validate

Wenn es keine Fehler gibt, erhältst du eine ähnliche Ausgabe wie die folgende, die anzeigt, dass alles bereit ist, um deine erste Infrastruktur zu bauen.

deine Infrastruktur validieren

4. Führe den Befehl terraform plan aus, um zu sehen, was Terraform tun wird, um die Infrastruktur zu bauen. Der Befehl terraform plan ist eine Vorschau auf das, was Terraform zu bauen plant und ist nicht dasselbe wie terraform apply.

terraform plan

Der Befehl terraform plan gibt die folgende Struktur aus und zeigt, dass er eine Instanz der Ressource docker_container mit dem Namen nginx und eine Ressource docker_image mit dem Namen tutorial erstellen wird.

Einsicht in den Terraform-Plan

5. Führe den Befehl terraform apply aus, um die Änderungen anzuwenden, die du mit terraform plan überprüft hast. Das terraform apply Kommando baut deine Infrastruktur auf. Der terraform apply Befehl erstellt alle Ressourcen, die in deiner Terraform main.tf Konfigurationsdatei beschrieben sind.

Dieser Befehl verwendet die Auswertung der Variablen, Beschränkungen und Zuordnungen aus dem terraform plan Befehl, um den effizientesten Plan zu erstellen. Alle zusätzlichen Optionen, die du in der Befehlszeile mit terraform apply angegeben hast, werden beim Ausführen des apply-Befehls verwendet. Gib ja ein und drücke Enter, wenn du aufgefordert wirst, einen Wert einzugeben.

terraform apply

Anwendung deiner Änderung

Wenn der terraform apply-Befehl erfolgreich war, siehst du eine Meldung, die dir anzeigt, dass deine Infrastruktur erfolgreich aufgebaut wurde (siehe unten). Das bedeutet, dass deine Infrastruktur wie vorgesehen erstellt wurde und deine Konfigurationsdatei auf dem neuesten Stand ist.

Der Aufbau deiner Infrastruktur

6. Führe den Befehl ls aus, um alle Dateien in deinem Arbeitsverzeichnis aufzulisten. Du wirst eine neue Datei mit dem Namen terraform.tfstate sehen (siehe unten). Eine Datei mit diesem Namen wird erstellt, um Änderungen an deiner Infrastruktur zu verfolgen. Der Befehl terraform plan speichert die Änderungen, die beim Ausführen von terraform apply angewendet werden, in einer Zwischendatei namens .tfstate. Die Zustandsdatei enthält den vollständigen Zustand der Infrastruktur, wie Terraform ihn sieht. Diese Datei wird benötigt, um die Konfiguration anzuwenden und muss bei Änderungen übertragen werden, auch wenn sich das Ziel innerhalb desselben Anbieters befindet.

ls

alle Dateien in deinem Arbeitsverzeichnis auflisten

7. Der Bauprozess ist nun abgeschlossen. Führe den Befehl terraform destroy aus, um die Infrastruktur, die du gerade gebaut hast, zu zerstören. Gib“Ja“ ein und drücke die Eingabetaste, wenn du zur Eingabe eines Wertes aufgefordert wirst .Der Befehl terraform destroy löscht alle Ressourcen, die in dieser Demo erstellt wurden. Der Befehl terraform destroy löscht alle Ressourcen, die in deiner Terraform-Konfigurationsdatei main.tf beschrieben sind. Sobald die Ressourcen zerstört sind, können sie nicht mehr wiederhergestellt werden.

Du solltest ungenutzte Ressourcen entfernen, um die Konfiguration einer Umgebung in Schach zu halten. Es geht nicht darum, Fehler zu vertuschen – es geht darum, Fehler zu verhindern, indem du die Anhäufung ungenutzter Ressourcen verhinderst.

 terraform destroy

die Infrastruktur zerstören

Fazit

In diesem Tutorial hast du gelernt, wie du die gängigsten Terraform-Konzepte anhand eines Beispiels anwenden kannst, um deine erste Infrastruktur aufzubauen. Du hast gelernt, wie du die Terraform CLI verwendest, um die Infrastruktur mithilfe der Datei main.tf deines Projekts aufzubauen. Das CLI kann zum Planen, Anwenden und Zerstören deiner Infrastruktur verwendet werden.

Du hast jetzt die Werkzeuge, um deine eigene Infrastruktur aufzubauen. Dank der umfassenden und ausdrucksstarken Konfigurationssprache von Terraform kannst du eine Vielzahl von Ressourcen mühelos verwalten.

Du kannst dein neu erworbenes Wissen über Infrastrukturmanagement, das du bereits für Docker-Container, Kubernetes und OpenStack nutzt, nutzen, um deine Infrastructure-as-Code-Praxis effizienter und konsistenter zu gestalten.

Das könnte dich auch interessieren …