Einführung in Terraform

Einführung in Terraform

In früheren Zeiten war der Prozess der Bereitstellung der IT -Infrastruktur ein manueller und sehr anstrengender. Administratoren/Servermanager müssen die Server physisch einrichten. Dieser Ansatz war auch kostspielig und anfällig für zahlreiche Fehler, insbesondere für von Menschen hergestellte Fehler. Darüber hinaus mangelt es an Beweglichkeit. Mit der sich entwickelnden Größe der IT -Infrastruktur war es empfunden, einen neuen Ansatz zur Verwaltung dieser Erkrankung zu entwickeln. Dies brachte die sogenannte Infrastruktur als Code (IAC) -Technik hervor.

Infrastruktur als Code (IAC) ist eine Technik, bei der die Komponenten eines Netzwerks wie die Computerinstanzen, Netzwerke, VMs usw., werden automatisch verwaltet, anstatt denselben Prozess manuell durchzuführen. Terraform ist ein Produkt von IAC-basierten Techniken. Das Hauptziel von Terraform ist es, die Bereitstellung von Ressourcen oder Diensten auf verschiedenen Infrastrukturplattformen zu orchestrieren. Diese Plattformen können Cloud-basierte Dienstanbieter, virtuelle Maschinen usw. sein.

Was wir hier erforschen werden

Nach einer kleinen Einführung in IAC und Terraform werden wir mit der Installation von Terraform und der Funktionsweise fortfahren, wie es funktioniert. Lassen Sie uns mit der Installation von Terraform auf Ubuntu 20 fortfahren.04.

So installieren Sie Terraform

Ein offizielles Terraformpaket für Ubuntu/Debian, Centos/Rhel, Fedora und Amazon Linux wird von den Paketmanagern dieser Verteilungen verteilt. Vorkompilierte Binärdateien stehen auch von der Terraform -Website zum Download zur Verfügung. Speichern Sie diese binäre Datei in Ihrem System, extrahieren Sie sie und führen Sie sie aus. Stellen Sie sicher, dass der Pfad korrekt eingestellt ist. Alternativ können wir es mit dem Quellcode kompilieren.

Schritt 1. Beginnen Sie mit der Installation von GNUPG, Software-ProPerties-Common und Curl-Paketen. Dieser Schritt dient zur Validierung der von Hashicorp bereitgestellten GPG -Signatur. Um diese Aufgabe zu erfüllen, öffnen Sie ein Terminal (klicken Sie gleichzeitig auf die Tasten Strg+Alt+T) und führen Sie den folgenden Befehl aus:

$ sudo APT-Get Update && sudo apt-Get Install -y GNUPG Software-Properties-Common Curl

Schritt 2. Führen Sie den folgenden Befehl aus, um den Hashicorp -GPG -Schlüssel hinzuzufügen:

$ curl -fssl https: // apt.Veröffentlichungen.Hashicorp.com/gpg | sudo apt-key add -

Schritt 3. Fügen Sie nun das Repository hinzu, indem Sie den folgenden Befehl ausführen:

$ sudo apt-add-repository "Deb [arch = amd64] https: // apt.Veröffentlichungen.Hashicorp.com $ (lsb_release -cs) main "

Schritt 4. Nach dem Hinzufügen des Repositorys sind alle so eingestellt, dass das Repository zur Installation von Terraform hinzugefügt wird. Verwenden Sie den folgenden Befehl:

$ sudo apt-Get Update && sudo apt-Get Installieren Sie Terraform

Schritt 5. Überprüfen Sie schließlich, ob Terraform auf Ihrem System mit dem folgenden Befehl installiert ist:

$ terraform -version

Arbeiten von Terraform

Terraform verwendet seine APIs, um Ressourcen auf verschiedenen Cloud-basierten Plattformen und Diensten bereitzustellen und zu verwalten. Terraform hat Anbieter entwickelt, um mit einer API mit jeder Plattform oder einem Dienst zu arbeiten. Es gibt über 1700 Anbieter, um viele Ressourcen und Dienste zu verwalten. Das Terraform -Register enthält Anbieter, die öffentlich verfügbar sind. Zum Beispiel hat es Amazon AWS, Microsoft Azure, Google, GCP usw.

Es gibt hauptsächlich drei Stufen in einem Terraform -Workflow:

  1. Schreiben: In dieser Phase werden die Ressourcen für einen bestimmten Fall definiert. Zum Beispiel könnte man daran interessiert sein, einen Webserver mit einem benutzerdefinierten VPC bereitzustellen und ihn mit einem Lastausgleichs- und Sicherheitsgruppen zu konfigurieren.
  1. Planen: Diese Phase entwickelt einen Ausführungsplan, der beschreibt, welche Änderungen an der Infrastruktur vorgenommen werden. Zum Beispiel zeigt es, welche Ressourcen hinzugefügt, aktualisiert oder zerstört werden.
  1. Anwenden: Dies ist die letzte Phase, in der geplante Operationen schließlich nach der Bestätigung angewendet werden. Diese werden in einer bestimmten Reihenfolge angewendet.

Terraform verwendet Konfigurationsdateien, um zu definieren, wie eine Infrastruktur aussehen soll. Es ist vor allem nützlich für die Bereitstellung einer Infrastruktur, die mit der Zeit wächst. Zum Beispiel fügen wir einer Infrastruktur eine VM in einem VPC hinzu. An einem weiteren Tag fügen wir mehr VMs, einen Lastausgleich usw. hinzu. Dies erhöht die Gesamtkomplexität der Infrastruktur.

Lassen Sie uns sehen, wie der Terraform -Workflow mit dieser Komplexität umgeht:

  1. Zunächst müssen wir eine Terraform -Datei erstellen und hier die wichtigsten Ressourcen und andere notwendige Dinge deklarieren. Speichern Sie die Datei mit a .TF -Erweiterung.
  1. Als nächstes führen wir einen Terraform -Kommando „Terraform Plan“ durch.
  1. Wenn alles perfekt aussieht, wenden wir den obigen Plan an und drehen die Ressourcen, die wir früher in der Terraform -Datei definiert haben.

Auf diese Weise arbeitet Terraform für den Tag der ersten Einsatz und generiert etwas aus dem Nichts. Wenn wir dem Setup neue Ressourcen hinzufügen möchten, müssen wir sie in der Konfigurationsdatei deklarieren. Die Terraform überprüft den Anfangszustand mit dem gewünschten Zustand und schafft den gewünschten Zustand. Terraform macht diese Änderungen nur, die notwendig sind, um den gewünschten Zustand zu erreichen.

Hilfe bekommen

Verwenden Sie den folgenden Befehl „Hilfe“, um alle mit der Terraform verfügbaren Befehle aufzulisten:

$ Terraform -Help

Verwenden Sie den folgenden Befehl, um einen bestimmten Befehl zu untersuchen, beispielsweise „Plan“: Verwenden Sie den folgenden Befehl:

$ Terraform -Help -Plan

Abschluss

In diesem Beitrag haben wir eine hochrangige Sicht auf Terraform gesehen. Terraform ist ein sehr interessantes Thema, um die Komplexität der Infrastruktur zu lernen und zu vereinfachen. Unter LinuxHint -Artikel finden Sie interessantere Tutorials.