Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Cloud Computing

Infrastruktur als Code mit Terraform auf Bare-Metal-Cloud

Infrastructure as Code (IaC) vereinfacht den Prozess der Verwaltung virtualisierter Cloud-Ressourcen. Mit der Einführung von Cloud-nativen dedizierten Servern ist es jetzt möglich, physische Maschinen mit der gleichen Flexibilität bereitzustellen.

phoenixNAPDie Cloud-native dedizierte Serverplattform Bare Metal Cloud (BMC) wurde unter Berücksichtigung der IaC-Kompatibilität entwickelt. BMC ist vollständig in HashiCorp Terraform integriert, einem der am häufigsten verwendeten IaC-Tools in DevOps. Diese Integration ermöglicht es Benutzern, einen benutzerdefinierten Terraform-Anbieter zu nutzen, um BMC-Server in wenigen Minuten mit nur wenigen Codezeilen bereitzustellen.

Warum Infrastruktur als Code?

Infrastructure as Code ist eine Methode zur Automatisierung des Prozesses der Bereitstellung und Verwaltung von Cloud-Ressourcen durch menschenlesbare Konfigurationsdateien. Es spielt eine entscheidende Rolle bei DevOps, wo Geschwindigkeit und Agilität von entscheidender Bedeutung sind.

Vor IaC haben Systemadministratoren alles von Hand bereitgestellt. Jeder Server, jede Datenbank, jeder Load Balancer oder jedes Netzwerk musste manuell konfiguriert werden. Teams nutzen jetzt verschiedene IaC-Engines, um Hunderte von Servern bei mehreren Anbietern innerhalb von Minuten hoch- oder herunterzufahren.

Während es viele leistungsstarke IaC-Tools auf dem Markt gibt, sticht Terraform als einer der prominentesten Akteure im IaC-Bereich hervor.

Die Grundlagen von Terraform

Terraform von HashiCorp ist eine Infrastruktur als Code-Engine, mit der DevOps-Teams Cloud-native Ressourcen sicher bereitstellen, ändern und versionieren können. Das Open-Source-Tool kann kostenlos verwendet werden, aber die meisten Teams entscheiden sich für die Verwendung mit Terraform Cloud oder Terraform Enterprise, die Zusammenarbeit und Governance ermöglichen.

Für die Bereitstellung mit Terraform definieren Entwickler die gewünschten Ressourcen in einer Konfigurationsdatei, die in HashiCorp Configuration Language (HCL) geschrieben ist. Terraform analysiert dann diese Datei, um einen Ausführungsplan zu erstellen. Nach der Bestätigung durch den Benutzer führt es den Plan aus, um genau das bereitzustellen, was in der Konfigurationsdatei definiert wurde.

Terraform identifiziert Unterschiede zwischen Soll- und Ist-Zustand der Infrastruktur. Dieser Mechanismus spielt eine wesentliche Rolle in einer DevOps-Pipeline, in der die Aufrechterhaltung der Konsistenz über mehrere Umgebungen hinweg von entscheidender Bedeutung ist.

Bereitstellen von Bare-Metal-Cloud-Servern mit Terraform

Terraform unterhält eine wachsende Liste von Anbietern, die seine Software unterstützen. Anbieter sind benutzerdefinierte Plugins von verschiedenen Dienstanbietern, die Benutzer in ihren Konfigurationsdateien initialisieren.

phoenixNAP hat einen eigenen Terraform-Anbieter – pnap. Jeder Bare-Metal-Cloud-Benutzer kann damit BMC-Server bereitstellen und verwalten, ohne das webbasierte Bare-Metal-Cloud-Portal zu verwenden. Der Quellcode für den phoenixNAP-Anbieter und die Dokumentation sind auf der offiziellen Terraform-Anbieterseite verfügbar.

Terraform-Beispielnutzung mit Bare-Metal-Cloud

Um mit der Bereitstellung von BMC-Servern mit Terraform zu beginnen, erstellen Sie ein BMC-Konto und installieren Sie Terraform auf Ihrem lokalen System oder Remote-Server. Sammeln Sie vor dem Ausführen von Terraform die erforderlichen Authentifizierungsdaten und speichern Sie sie in config.yaml Datei. Sie benötigen den clientId und clientSecret , die Sie beide in Ihrem BMC-Konto finden.

Sobald alles eingerichtet ist, beginnen Sie mit der Definition Ihrer gewünschten BMC-Ressourcen. Erstellen Sie dazu eine Terraform-Konfigurationsdatei und geben Sie an, dass Sie den pnap-Anbieter verwenden möchten :

terraform {
  required_providers {
    pnap = {
          source = "phoenixnap/pnap"
          version = "0.6.0"
    }
  }
}

provider "pnap" {
  # Configuration options
}

Der für configuration options reservierte Abschnitt sollte die Beschreibung des gewünschten Zustands Ihrer BMC-Infrastruktur enthalten.

Um die grundlegendste Bare-Metal-Cloud-Serverkonfiguration bereitzustellen, s1.c1.small , mit einem Ubuntu-Betriebssystem im Phoenix-Rechenzentrum:

resource "pnap_server" "My-First-BMC-Server" {
    hostname = "your-hostname"
    os = "ubuntu/bionic"
    type = "s1.c1.small"
    location = "PHX"
    ssh_keys = [
       "ssh-rsa..."
    ]
    #action = "powered-on"
}

Der Argumentname action bezeichnet Energieaktionen, die auf dem Server ausgeführt werden können, und dazu gehören Neustart, Zurücksetzen, Einschalten, Ausschalten und Herunterfahren. Während alle Argumentnamen entsprechende Werte enthalten müssen, muss das Aktionsargument nicht definiert werden.

Führen Sie zum Bereitstellen dieser Bare-Metal-Cloud-Instanz das Terraform init aus CLI-Befehl, um Terraform anzuweisen, mit dem Initialisierungsprozess zu beginnen.

Ihre Terraform-Konfigurationen sollten in einer Datei mit einem .tf gespeichert werden Verlängerung. Während Terraform eine domänenspezifische Sprache zum Definieren von Konfigurationen verwendet, können Benutzer Konfigurationsdateien auch in JSON schreiben. In diesem Fall muss die Dateierweiterung .tf.json sein .

Alle Terraform-Konfigurationsdateien sind wiederverwendbar , skalierbar , und kann versioniert werden für eine einfachere Teamzusammenarbeit bei BMC-Bereitstellungsschemata.

Unabhängig davon, ob Sie einen oder Hunderte von Servern bereitstellen müssen, Terraform und BMC machen es möglich. Die Anzahl der Server, die Sie in Ihren Konfigurationsdateien definieren können, ist unbegrenzt. Sie können neben phoenixNAP auch andere Anbieter verwenden.

Zur einfacheren Verwaltung komplexer Setups verfügt Terraform über eine Funktion namens Module — Container, mit denen Sie die Architektur Ihrer Umgebung auf abstrakte Weise definieren können. Module sind wiederverwendbare Codeblöcke, die andere Module aufrufen können, die ein oder mehrere Infrastrukturobjekte enthalten.

Zusammenarbeit an BMC-Konfigurationen mit Terraform Cloud

Nachdem Sie gelernt haben, wie man Terraform-Konfigurationen schreibt und bereitstellt, sollten Sie eine Methode einrichten, mit der Ihr gesamtes DevOps-Team effizienter an der Bereitstellung neuer und der Änderung vorhandener BMC-Ressourcen arbeiten kann.

Sie können die Terraform-Konfiguration in einem Versionskontrollsystem speichern und sie kostenlos remote von Terraform Cloud aus ausführen. Dadurch können Sie die Wahrscheinlichkeit der Bereitstellung falsch konfigurierter Ressourcen verringern, die Übersicht verbessern und sicherstellen, dass jede Änderung zuverlässig aus der Cloud ausgeführt wird.

Sie können auch den Remote-Zustandsspeicher von Terraform Cloud nutzen. Terraform-Zustandsdateien bilden Terraform-Konfigurationen mit Ressourcen ab, die in der realen Welt bereitgestellt werden. Die Verwendung von Terraform Cloud zum Speichern von Statusdateien stellt sicher, dass Ihr Team immer auf dem gleichen Stand ist.

Ein weiterer großer Vorteil von Terraform ist, dass alle Konfigurationsdateien wiederverwendbar sind. Dies macht das mehrmalige Replizieren derselben Umgebung extrem einfach. Durch die Wahrung der Konsistenz über mehrere Umgebungen hinweg können Teams qualitativ hochwertigen Code schneller und sicherer an die Produktion liefern.

Automatisieren Sie Ihre Infrastruktur

Dieser Artikel gab Ihnen einen umfassenden Überblick darüber, wie Sie die Flexibilität von Terraform nutzen können, um programmatisch mit Ihren Bare-Metal-Cloud-Ressourcen zu interagieren. Durch die Verwendung des phoenixNAP Terraform-Anbieters und der Terraform Cloud können Sie mehrere BMC-Instanzen mit nur wenigen Codezeilen schnell bereitstellen, konfigurieren und außer Betrieb nehmen.

Dieser automatisierte Ansatz zur Infrastrukturbereitstellung verbessert die Geschwindigkeit und Agilität von DevOps-Workflows. BMC ermöglicht es Teams in Kombination mit Terraform Cloud, sich auf die Erstellung von Software zu konzentrieren, anstatt Zeit damit zu verschwenden, darauf zu warten, dass ihre dedizierten Server manuell bereitgestellt werden.


Cloud Computing

  1. Bauen Sie Ihre Cloud-Infrastruktur für Leistung und Effizienz auf
  2. Warum IT-Experten Kartenerstellungsfähigkeiten brauchen
  3. Ist die lokale Infrastruktur veraltet?
  4. Wochenpaket:Bewölkt mit Aussicht auf Innovation
  5. Vor- und Nachteile von Infrastructure-as-Code
  6. Vorteile der Cloud-Nutzung mit DevOps-Diensten
  7. Code Ready Container:Erste Schritte mit Prozessautomatisierungstools in der Cloud
  8. Cloud-Computing-Infrastruktur; Die Grundlagen verstehen
  9. AWS CHEAT SHEET:mit Prüfungsleitfaden
  10. zum Biegen von Blech mit einer Abkantpresse