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

Physische Server mit Terraform auf Bare Metal Cloud bereitstellen – Nahtlose IaC-Integration

Infrastructure as Code (IaC) vereinfacht die Verwaltung virtualisierter Cloud-Ressourcen. Mit der Einführung cloud-nativer dedizierter Server ist es nun möglich, physische Maschinen mit derselben Flexibilität bereitzustellen.

PhoenixNAPs cloud-native dedizierte Serverplattform Bare Metal Cloud (BMC) wurde mit IaC-Kompatibilität konzipiert. BMC ist vollständig in HashiCorp Terraform integriert, eines der am weitesten verbreiteten IaC-Tools in DevOps. Diese Integration ermöglicht es Nutzern, einen benutzerdefinierten Terraform-Provider zu nutzen, um BMC-Server in Minuten mit nur wenigen Codezeilen bereitzustellen.

Warum Infrastructure as Code?

Infrastructure as Code ist eine Methode zur Automatisierung der Bereitstellung und Verwaltung von Cloud-Ressourcen durch menschenlesbare Konfigurationsdateien. Sie spielt eine entscheidende Rolle in DevOps, wo Geschwindigkeit und Agilität essenziell sind.

Vor IaC stellten Sysadmins alles manuell bereit. Jeder Server, jede Datenbank, jeder Load Balancer oder jedes Netzwerk musste manuell konfiguriert werden. Teams nutzen heute verschiedene IaC-Engines, um hunderte Server über mehrere Provider in Minuten hoch- oder herunterzufahren.

Obwohl 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 Infrastructure-as-Code-Engine, die DevOps-Teams ermöglicht, cloud-native Ressourcen sicher bereitzustellen, zu modifizieren und zu versionieren. Das Open-Source-Tool ist kostenlos nutzbar, aber die meisten Teams setzen es mit Terraform Cloud oder Terraform Enterprise ein, die Zusammenarbeit und Governance ermöglichen.

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

Terraform identifiziert Unterschiede zwischen dem gewünschten Zustand und dem tatsächlichen Zustand der Infrastruktur. Dieser Mechanismus spielt eine wesentliche Rolle in einer DevOps-Pipeline, wo die Aufrechterhaltung von Konsistenz über mehrere Umgebungen entscheidend ist.

Bereitstellung von Bare Metal Cloud Servern mit Terraform

Terraform verwaltet eine wachsende Liste von Providern, die seine Software unterstützen. Provider sind benutzerdefinierte Plugins verschiedener Service-Provider, die Nutzer in ihren Konfigurationsdateien initialisieren.

PhoenixNAP verfügt über einen eigenen Terraform-Provider – pnap. Jeder Bare Metal Cloud Nutzer kann diesen verwenden, um BMC-Server bereitzustellen und zu verwalten, ohne das webbasierte Bare Metal Cloud Portal zu nutzen. Der Quellcode für den phoenixNAP-Provider und die Dokumentation sind auf der offiziellen Terraform-Provider-Seite verfügbar.

Terraform-Beispielnutzung mit Bare Metal Cloud

Um mit der Bereitstellung von BMC-Servern mit Terraform zu beginnen, erstellen Sie einen BMC-Account und installieren Terraform auf Ihrem lokalen System oder Remote-Server. Bevor Sie Terraform ausführen, sammeln Sie die notwendigen Authentifizierungsdaten und speichern diese in der config.yaml-Datei. Sie benötigen die clientId und den clientSecret, die beide in Ihrem BMC-Account zu finden sind.

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

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

Der Bereich für Konfigurationsoptionen sollte die Beschreibung des gewünschten Zustands Ihrer BMC-Infrastruktur enthalten.

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

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" }

Das Argument action bezeichnet Stromaktionen, die auf dem Server ausgeführt werden können, und umfasst Reboot, Reset, Powered-On, Powered-Off, Shutdown. Während alle Argumentnamen entsprechende Werte enthalten müssen, muss das Action-Argument nicht definiert werden.

Um diese Bare Metal Cloud Instanz bereitzustellen, führen Sie den Terraform CLI-Befehl init aus, um Terraform anzuweisen, den Initialisierungsprozess zu starten.

Ihre Terraform-Konfigurationen sollten in einer Datei mit der Erweiterung .tf gespeichert werden. Während Terraform eine domänenspezifische Sprache für die Definition von Konfigurationen verwendet, können Nutzer Konfigurationsdateien auch in JSON schreiben. In diesem Fall muss die Dateierweiterung .tf.json sein.

Physische Server mit Terraform auf Bare Metal Cloud bereitstellen – Nahtlose IaC-Integration

Alle Terraform-Konfigurationsdateien sind wiederverwendbar, skalierbar und können versioniert werden, um die Teamzusammenarbeit bei BMC-Provisioning-Schemata zu erleichtern.

Ob Sie einen oder hunderte Server bereitstellen müssen – Terraform und BMC machen es möglich. Es gibt keine Limits für die Anzahl der Server, die Sie in Ihren Konfigurationsdateien definieren können. Sie können auch andere Provider neben phoenixNAP verwenden.

Für die einfachere Verwaltung komplexer Setups verfügt Terraform über eine Funktion namens Module – Container, die es ermöglichen, die Architektur Ihrer Umgebung abstrakt zu definieren. Module sind wiederverwendbare Codeblöcke, die andere Module aufrufen können, die ein oder mehrere Infrastrukturobjekte enthalten.

Zusammenarbeit an BMC-Konfigurationen mit Terraform Cloud

Sobald Sie gelernt haben, Terraform-Konfigurationen zu schreiben und bereitzustellen, möchten Sie eine Methode einrichten, die es Ihrem gesamten DevOps-Team ermöglicht, effizienter an der Bereitstellung neuer und der Modifikation bestehender BMC-Ressourcen zu arbeiten.

Sie können Terraform-Konfigurationen in einem Versionskontrollsystem speichern und sie kostenlos remote über Terraform Cloud ausführen. Dies verringert die Wahrscheinlichkeit fehlerhafter Ressourcen, verbessert die Überwachung und stellt sicher, dass jede Änderung zuverlässig aus der Cloud ausgeführt wird.

Sie können auch Terraform Clouds Remote-State-Speicherung nutzen. Terraform-State-Dateien ordnen Terraform-Konfigurationen den in der realen Welt bereitgestellten Ressourcen zu. Die Verwendung von Terraform Cloud zum Speichern von State-Dateien stellt sicher, dass Ihr Team immer auf demselben Stand ist.

Ein weiterer großer Vorteil von Terraform ist, dass alle Konfigurationsdateien wiederverwendbar sind. Dies macht die Replikation derselben Umgebung mehrmals extrem einfach. Durch die Aufrechterhaltung von Konsistenz über mehrere Umgebungen können Teams schneller und sicherer qualitativ hochwertigen Code in die Produktion liefern.

Automatisieren Sie Ihre Infrastruktur

Dieser Artikel gab Ihnen einen breiten Überblick darüber, wie Sie Terraforms Flexibilität nutzen können, um programmgesteuert mit Ihren Bare Metal Cloud Ressourcen zu interagieren. Durch die Verwendung des phoenixNAP Terraform Providers und Terraform Cloud können Sie mehrere BMC-Instanzen mit nur wenigen Codezeilen schnell bereitstellen, konfigurieren und stilllegen.

Dieser automatisierte Ansatz zur Infrastruktur-Provisioning verbessert die Geschwindigkeit und Agilität von DevOps-Workflows. BMC in Kombination mit Terraform Cloud ermöglicht es Teams, sich auf die Softwareentwicklung zu konzentrieren, anstatt Zeit mit dem Warten auf manuelles Provisioning dedizierter Server zu verschwenden.


Cloud Computing

  1. Cloud-Infrastruktur für Spitzenleistung und Effizienz optimieren
  2. Warum IT-Profis Infrastructure Mapping beherrschen müssen
  3. Ist On-Premise-Infrastruktur obsolet? 5 Gründe, warum sie noch immer relevant ist
  4. Wöchentlicher Briefing: Cloud-Adoption steigt, Governance & Innovation rücken in den Mittelpunkt
  5. Infrastructure as Code: Vorteile, Herausforderungen und Best Practices
  6. Wie Cloud und DevOps moderne Softwarebereitstellung beschleunigen
  7. Code-Ready Containers: Praktischer Leitfaden für Cloud-native Prozessautomatisierung mit Red Hat OpenShift
  8. Cloud Computing Infrastruktur: Professioneller Leitfaden zu den Fundamenten
  9. AWS Cheat Sheet & Exam Guide: Cloud Services meistern & Zertifizierungsvorbereitung
  10. Blechbiegen mit Abkantpresse meistern: Techniken, CNC-Power & Brancheninsights