GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So verwenden Sie die Terraform-Befehlszeilenschnittstelle (CLI) unter Ubuntu

Terraform ist ein Framework zum Erstellen und Konfigurieren von Infrastruktur als Code mit einer Befehlszeilenschnittstelle und einer DSL-Sprache. Terraform kann bestehende und beliebte Dienstanbieter sowie benutzerdefinierte Inhouse-Lösungen verwalten, um vollständig verteilte Rechenzentren zu erstellen und zu konfigurieren.

Mit der Terraform-Befehlszeilenschnittstelle (CLI) können Sie Terraform verwenden, ohne Code oder Konfigurationsdateien schreiben zu müssen. Es ist eine ideale Möglichkeit, mit Ihrem Team Prototypen von Infrastrukturänderungen zu erstellen, bevor Sie Code schreiben, Konfigurationen lokal auf Ihrem Computer bereitstellen oder sie in die Produktion übertragen. Die CLI baut auf dem terraformspec-Dateiformat auf, das für diesen Zweck von Drittanbietern wie dem HashiCorp Nomad CLI Toolkit erstellt wurde.

Das CLI-Toolkit implementiert eine JavaScript-DSL zum Definieren der Infrastruktur und verwendet das gleiche Konfigurationsformat sowohl in Terraform als auch in der CLI. Das CLI-Toolkit bietet auch Befehle zum Generieren von Infrastrukturvorlagen, zum Zusammenstellen von Infrastrukturkomponenten zu vollständigen Lösungen und zum Verwalten von Änderungen. Der gesamte Terraform-Workflow wird von zustandslosen Funktionen gesteuert, die im Code definiert sind und von Terraform jedes Mal ausgeführt werden, wenn Sie eine Änderung vornehmen. Auf diese Weise können Sie Ihre Infrastruktur als ein einziges Design betrachten, das zur Laufzeit einfach geändert werden kann, ohne Ihre Konfiguration neu zu laden oder Ihre Codebasis zu ändern.

Eine Reihe von IT-Experten und Unternehmen verwenden die Befehlszeilenschnittstelle von Terraform, um neue Infrastrukturen oder neue Cloud-Infrastrukturen zu verwalten und sogar zu erstellen. Die Terraform-Befehlszeilenschnittstelle kann eine robustere Methode zum Automatisieren von Änderungen bieten, deren manuelle Durchführung zu lange dauern würde. Es ist ein leistungsstarkes Tool zur Verwaltung der Infrastruktur.

Es ist leicht zu erkennen, warum Terraform eine der beliebtesten Open-Source-Cloud-Bereitstellungslösungen der Welt ist. Es ist ein Tool, das von Linux-Leuten wie Ihnen verwendet wird!

Darin finden Sie vollständige Erläuterungen und Beispiele der am häufigsten verwendeten Terraform-CLI-Befehle, die speziell ausgewählt wurden, um Ihnen praktische Erfahrungen mit den leistungsstärksten Funktionen von Terraform zu vermitteln.

Voraussetzung

  • Um diesem Artikel folgen zu können, sollten Sie Folgendes haben:
  • Ein gewisses Grundwissen über die Features und Funktionen von Terraform.
  • Eine Linux-Maschine. Diese Demo verwendet Ubuntu 20.04 LTS, aber jede Linux-Distribution funktioniert.
  • Terraform und Docker auf dem Computer installiert.

Klonen des Hauptcodes

Nachdem Sie sich um die Voraussetzungen gekümmert haben, können Sie mit dem Klonen des Hauptcodes beginnen, um die Terraform-Befehlszeilenschnittstelle zu verwenden.

1. Führen Sie den folgenden Befehl apt install aus, um git auf Ihrem System zu installieren. Git ist ein verteiltes Open-Source-Revisionskontrollsystem, das entwickelt wurde, um alles, von kleinen bis zu sehr großen Projekten, schnell und effizient zu bewältigen. Sie werden git verwenden, um die Projektvorlage für die Terraform-Befehlszeilenschnittstelle von github.com zu klonen. Dann sehen Sie sich die richtige Version der Terraform-Befehlszeile für diese Demo an.

sudo apt install git -y

2. Führen Sie den folgenden git clone-Befehl aus, um die Terraform-Befehlszeilenprojektvorlage in Ihrem aktuellen Verzeichnis zu klonen.

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

3. Wechseln Sie in das neu geklonte terraform-cli-Verzeichnis und öffnen Sie die main.tf Datei mit Ihrem bevorzugten Texteditor (vim, emacs, nano usw.). Eine main.tf-Datei ist der Einstiegspunkt Ihres Projekts zur Terraform-Befehlszeilenschnittstelle (Cli). Wenn Sie den Terraform-Befehl ausführen, verwendet er die Datei main.tf Datei als Eingabe für Anweisungen zum Aufbau Ihrer Infrastruktur.

cd terraform-cli && sudo nano main.tf

Sie erhalten die folgende Ausgabe.

  • Die Terraform {  } Abschnitt der main.tf file macht nichts weiter, als den Docker-Provider als required_provider festzulegen . Damit Terraform Ihre Docker-Infrastruktur verwalten kann, muss der Docker-Anbieter konfiguriert sein.

  • Die Ressource "docker_image" "nginx" { Codeblock demonstriert die Verwendung der Terraform-Befehlszeilenschnittstelle, indem eine neue Ressource namens docker_image erstellt wird . Die nächste Zeile verwendet das Docker-Image um eine Ressource namens nginx zu erstellen . Sie können daraus schließen, dass dies zur Verwaltung Ihres Docker-Containers verwendet wird. Die nächste Zeile legt den Namen Ihres Docker-Images als nginx:latest fest. Die keep_locally =false verhindert, dass das Bild lokal auf Ihrem Computer zwischengespeichert wird, und ist eine gute Idee, um doppelte Downloads zu verhindern.

  • Die Ressource "docker_container" "nginx" { demonstriert die Verwendung der Terraform-CLI durch Erstellen einer neuen Ressource namens docker_container . Die nächste Zeile verwendet den docker_container um eine Ressource namens nginx zu erstellen . Dies wird verwendet, um die Portzuordnung Ihres Docker-Containers zu verwalten. Die nächste Zeile legt den Namen Ihres Docker-Containers als tutorial fest und zeigt schließlich, wie Port 8000 zugeordnet wird und Port 80 auf Ihrem Hostcomputer auf Ihrem Docker-Container mithilfe des Ports-Blocks.

Verwendung der Terraform-Befehlszeilenschnittstelle (CLI) zum Aufbau Ihrer ersten Infrastruktur

Nachdem Sie die Terraform-Projektvorlage geklont haben, können Sie Ihre erste Infrastruktur erstellen. Sie verwenden die Terraform-Befehlszeilenschnittstelle, um eine Infrastruktur mit der Datei main.tf Ihres Projekts zu erstellen Datei. Sie erstellen einen Docker-Container und ordnen einen Port von Ihrem Host-Computer dem Docker-Container zu.

1. Führen Sie zuerst den Befehl terraform init aus, um Ihr Arbeitsverzeichnis zu initialisieren. Der Befehl terraform init initialisiert Ihr Arbeitsverzeichnis und lädt alle erforderlichen Plugins herunter, die Terraform benötigt, um Ihre Infrastruktur zu verwalten. Ein Arbeitsverzeichnis ist das Verzeichnis, in dem Sie den terraform-Befehl verwenden, um Ihre Infrastruktur zu verwalten. Nach der Initialisierung enthält dieses Verzeichnis eine main.tf-Datei und kann mehrere unterstützende Dateien enthalten.

terraform init

Nach erfolgreicher Ausführung des Befehls terraform init erhalten Sie die folgende Ausgabe.

2. Führen Sie als Nächstes den Befehl terraform fmt aus, um Ihre main.tf-Datei für Lesbarkeit und Konsistenz automatisch zu formatieren. Der Befehl terraform fmt formatiert Ihre main.tf-Datei für Lesbarkeit und Konsistenz neu. Dies ist ein bewährtes Verfahren, da es Ihre Dateien für Sie und andere leichter lesbar macht.

terraform fmt

Wenn der Befehl terraform fmt Ihre main.tf   geändert hat Dateien, wird der Name der neu formatierten Datei ausgegeben. In dieser Demo ist die Ausgabe leer, da die Datei main.tf bereits nach Terraforms Wünschen formatiert wurde, wie unten gezeigt.

3. Führen Sie den Befehl terraform validate aus, um sicherzustellen, dass Ihre Infrastruktur wie vorgesehen erstellt wird. Der Befehl terraform validate ist eine Sicherheitsüberprüfung, um zu überprüfen, ob Ihre Infrastruktur wie vorgesehen aufgebaut werden kann.

terraform validate

Wenn keine Fehler vorliegen, erhalten Sie eine ähnliche Ausgabe wie die folgende, die anzeigt, dass alles bereit ist, um Ihre erste Infrastruktur aufzubauen.

4. Führen Sie den Befehl terraform plan aus, um zu sehen, was Terraform tun wird, um die Infrastruktur aufzubauen. Der Befehl terraform plan ist eine Vorschau dessen, 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 docker_container-Ressource namens nginx und eine docker_image-Ressource namens tutorial.

erstellen wird

5. Führen Sie den Befehl terraform apply aus, um die Änderungen anzuwenden, die Sie mit terraform plan in der Vorschau angezeigt haben. Der Befehl terraform apply baut Ihre Infrastruktur auf. Der terraform apply-Befehl erstellt alle Ressourcen, die in Ihrer Terraform-Konfigurationsdatei main.tf beschrieben sind.

Dieser Befehl verwendet die Auswertung von Variablen, Beschränkungen und Zuordnungen aus dem Terraform-Plan-Befehl, um den effizientesten Plan zu erstellen. Alle zusätzlichen Optionen, die in der Befehlszeile mit terraform apply angegeben werden, werden beim Ausführen des Befehls apply verwendet. Geben Sie Ja ein und drücken Sie Enter wenn Sie aufgefordert werden, einen Wert einzugeben .

terraform apply

Sobald der terraform apply-Befehl erfolgreich ist, wird eine Meldung angezeigt, die angibt, dass Ihre Infrastruktur erfolgreich erstellt wurde, wie unten gezeigt. Wenn dies geschieht, bedeutet dies, dass Ihre Infrastruktur wie beabsichtigt erstellt wurde und mit Ihrer Konfigurationsdatei auf dem neuesten Stand ist.

6. Führen Sie den Befehl ls aus, um alle Dateien in Ihrem Arbeitsverzeichnis aufzulisten. Sie sehen eine neue Datei mit dem Namen terraform.tfstate, wie unten gezeigt. Eine Datei mit diesem Namen wird erstellt, um Änderungen an Ihrer Infrastruktur nachzuverfolgen. Der Befehl terraform plan speichert die Änderungen, die beim Ausführen von terraform apply angewendet werden, in einer Zwischendatei mit dem Namen .tfstate. Die Zustandsdatei enthält den vollständigen Zustand der Infrastruktur, wie Terraform ihn sieht. Diese Datei wird benötigt, um jede Konfiguration zu übernehmen und muss bei Änderungen übertragen werden, auch wenn das Ziel innerhalb des gleichen Providers liegt.

ls

7. Der Bauprozess ist nun beendet. Führen Sie den Befehl terraform Destroy aus, um die gerade erstellte Infrastruktur zu zerstören. Geben Sie Ja ein und drücken Sie Enter wenn Sie aufgefordert werden, einen Wert einzugeben . Der Terraform-Zerstörungsbefehl löscht alle von dieser Demo erstellten Ressourcen. Der Terraform-Zerstörungsbefehl löscht alle in Ihrer Terraform main.tf beschriebenen Ressourcen Konfigurationsdatei. Sobald die Ressourcen zerstört sind, können sie nicht wiederhergestellt werden.

Sie sollten ungenutzte Ressourcen entfernen, um die Konfiguration für eine Umgebung in Schach zu halten. Es geht nicht darum, Fehler zu vertuschen – es geht darum, Fehlern vorzubeugen, indem der Aufbau ungenutzter Ressourcen verhindert wird.

 terraform destroy

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie die gängigsten Terraform-Konzepte verwenden, die in einem Beispiel gezeigt werden, um Ihre erste Infrastruktur aufzubauen. Sie haben gelernt, wie Sie mit der Terraform-CLI eine Infrastruktur mithilfe der Datei main.tf Ihres Projekts erstellen. Die CLI kann verwendet werden, um Ihre Infrastruktur zu planen, anzuwenden und zu zerstören.

Sie haben jetzt die Werkzeuge, um Ihre eigene Infrastruktur aufzubauen. Dank der umfassenden und ausdrucksstarken Konfigurationssprache von Terraform können Sie mühelos eine Vielzahl von Ressourcen verwalten.

Sie können Ihr neu gewonnenes Wissen im Infrastrukturmanagement nutzen, das bereits für Docker-Container, Kubernetes und OpenStack verwendet wird, um mehr Effizienz und Konsistenz in Ihre Infrastructure-as-Code-Praxis zu bringen.


Ubuntu
  1. So verwenden Sie den Befehl zum Herunterfahren von Linux in Ubuntu 18.04 und CentOS 7

  2. So installieren Sie Sicherheitsupdates über die Befehlszeile in Ubuntu

  3. So verwenden Sie den tail-Befehl in Ubuntu Linux

  4. So verwenden Sie den String-Befehl in Ubuntu

  5. Verwendung des netplan-Befehls unter Ubuntu

So konvertieren Sie Dokumente in das PDF-Format auf der Ubuntu-Befehlszeile

So ändern Sie die Größe von Bildern in der Ubuntu-Befehlszeile

So laden Sie eine Datei unter Ubuntu Linux über die Befehlszeile herunter

So verwenden Sie den apt Package Manager in der Ubuntu-Befehlszeile

So finden Sie Dateien in der Ubuntu-Befehlszeile

So installieren und verwenden Sie den Exa-Befehl unter Ubuntu 20.04