Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Cloud computing

Infrastructuur als code met Terraform op Bare Metal Cloud

Infrastructure as Code (IaC) vereenvoudigt het proces van het beheer van gevirtualiseerde cloudresources. Met de introductie van cloud-native dedicated servers is het nu mogelijk om fysieke machines in te zetten met hetzelfde niveau van flexibiliteit.

phoenixNAP's cloud-native dedicated serverplatform Bare Metal Cloud (BMC), is ontworpen met IaC-compatibiliteit in het achterhoofd. BMC is volledig geïntegreerd met HashiCorp Terraform, een van de meest gebruikte IaC-tools in DevOps. Dankzij deze integratie kunnen gebruikers gebruikmaken van een op maat gemaakte Terraform-provider om BMC-servers binnen enkele minuten te implementeren met slechts een paar regels code.

Waarom infrastructuur als code?

Infrastructure as Code is een methode om het proces van implementatie en beheer van cloudresources te automatiseren via door mensen leesbare configuratiebestanden. Het speelt een cruciale rol in DevOps, waar snelheid en wendbaarheid van essentieel belang zijn.

Vóór IaC implementeerden systeembeheerders alles met de hand. Elke server, database, load balancer of netwerk moest handmatig worden geconfigureerd. Teams gebruiken nu verschillende IaC-engines om binnen enkele minuten honderden servers van meerdere providers op te starten of af te breken.

Hoewel er veel krachtige IaC-tools op de markt zijn, onderscheidt Terraform zich als een van de meest prominente spelers op het gebied van IaC.

De basis van Terraform

Terraform van HashiCorp is een infrastructuur als code-engine waarmee DevOps-teams veilig cloud-native resources kunnen implementeren, wijzigen en versies. De open source-tool is gratis te gebruiken, maar de meeste teams kiezen ervoor om deze te gebruiken met Terraform Cloud of Terraform Enterprise, wat samenwerking en beheer mogelijk maakt.

Om met Terraform te implementeren, definiëren ontwikkelaars de gewenste bronnen in een configuratiebestand, dat is geschreven in HashiCorp Configuration Language (HCL). Terraform analyseert vervolgens dat bestand om een ​​uitvoeringsplan te maken. Eenmaal bevestigd door de gebruiker, voert het het plan uit om precies te voorzien wat in het configuratiebestand is gedefinieerd.

Terraform identificeert verschillen tussen de gewenste staat en de bestaande staat van de infrastructuur. Dit mechanisme speelt een essentiële rol in een DevOps-pijplijn, waar het cruciaal is om consistentie in meerdere omgevingen te behouden.

Bare Metal Cloud-servers inzetten met Terraform

Terraform onderhoudt een groeiende lijst van providers die zijn software ondersteunen. Providers zijn op maat gemaakte plug-ins van verschillende serviceproviders die gebruikers initialiseren in hun configuratiebestanden.

phoenixNAP heeft zijn eigen Terraform-provider - pnap. Elke Bare Metal Cloud-gebruiker kan het gebruiken om BMC-servers te implementeren en te beheren zonder de webgebaseerde Bare Metal Cloud Portal te gebruiken. De broncode voor de phoenixNAP-provider en documentatie is beschikbaar op de officiële Terraform-providerpagina.

Terraform-voorbeeldgebruik met Bare Metal Cloud

Om te beginnen met het implementeren van BMC-servers met Terraform, maakt u een BMC-account aan en installeert u Terraform op uw lokale systeem of externe server. Verzamel, voordat u Terraform uitvoert, de benodigde authenticatiegegevens en sla deze op in de config.yaml het dossier. Je hebt de clientId . nodig en clientSecret , die beide te vinden zijn op uw BMC-account.

Zodra alles is ingesteld, begint u met het definiëren van uw gewenste BMC-bronnen. Om dit te doen, maakt u een Terraform-configuratiebestand aan en geeft u aan dat u de pnap-provider . wilt gebruiken :

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

provider "pnap" {
  # Configuration options
}

Het gedeelte gereserveerd voor configuration options moet de beschrijving van de gewenste staat van uw BMC-infrastructuur bevatten.

Om de meest elementaire Bare Metal Cloud-serverconfiguratie te implementeren, s1.c1.small , met een Ubuntu-besturingssysteem in het Phoenix-datacenter:

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

De argumentnaam action geeft energieacties aan die op de server kunnen worden uitgevoerd, en ze omvatten opnieuw opstarten, opnieuw instellen, inschakelen, uitschakelen en afsluiten. Hoewel alle argumentnamen overeenkomstige waarden moeten bevatten, hoeft het actieargument niet te worden gedefinieerd.

Om deze Bare Metal Cloud-instantie te implementeren, voert u de terraform init . uit CLI-opdracht om Terraform opdracht te geven het initialisatieproces te starten.

Uw Terraform-configuraties moeten worden opgeslagen in een bestand met een .tf verlenging. Hoewel Terraform een ​​domeinspecifieke taal gebruikt voor het definiëren van configuraties, kunnen gebruikers ook configuratiebestanden in JSON schrijven. In dat geval moet de bestandsextensie .tf.json . zijn .

Alle Terraform-configuratiebestanden zijn herbruikbaar , schaalbaar , en kan worden versiebeheerd voor eenvoudigere teamsamenwerking bij BMC-provisioningschema's.

Of u nu één of honderden servers moet implementeren, Terraform en BMC zorgen ervoor dat het gebeurt. Er zijn geen limieten aan het aantal servers dat u in uw configuratiebestanden kunt definiëren. U kunt naast phoenixNAP ook andere providers gebruiken.

Voor eenvoudiger beheer van complexe instellingen heeft Terraform een ​​functie genaamd modules — containers waarmee u de architectuur van uw omgeving op een abstracte manier kunt definiëren. Modules zijn herbruikbare stukjes code die andere modules kunnen aanroepen die een of meer infrastructuurobjecten bevatten.

Samenwerken aan BMC-configuraties met Terraform Cloud

Als je eenmaal hebt geleerd hoe je Terraform-configuraties moet schrijven en inrichten, wil je een methode opzetten waarmee je hele DevOps-team efficiënter kan werken aan het implementeren van nieuwe en het aanpassen van bestaande BMC-resources.

U kunt Terraform-configuratie opslaan in een versiebeheersysteem en ze gratis op afstand uitvoeren vanuit Terraform Cloud. Dit helpt u de kans te verkleinen dat u verkeerd geconfigureerde resources inzet, verbetert het overzicht en zorgt ervoor dat elke wijziging betrouwbaar wordt uitgevoerd vanuit de cloud.

U kunt ook gebruikmaken van de externe statusopslag van Terraform Cloud. Terraform-statusbestanden brengen Terraform-configuraties in kaart met bronnen die in de echte wereld zijn geïmplementeerd. Door Terraform Cloud te gebruiken om statusbestanden op te slaan, zorgt u ervoor dat uw team altijd op één lijn zit.

Een ander groot voordeel van Terraform is dat alle configuratiebestanden herbruikbaar zijn. Dit maakt het zeer eenvoudig om dezelfde omgeving meerdere keren te repliceren. Door consistentie in meerdere omgevingen te behouden, kunnen teams sneller en veiliger kwaliteitscode aan de productie leveren.

Automatiseer uw infrastructuur

Dit artikel gaf u een breed overzicht van hoe u gebruik kunt maken van de flexibiliteit van Terraform om programmatisch te communiceren met uw Bare Metal Cloud-resources. Door de phoenixNAP Terraform-provider en Terraform Cloud te gebruiken, kunt u snel meerdere BMC-instanties implementeren, configureren en buiten gebruik stellen met slechts een paar regels code.

Deze geautomatiseerde benadering van infrastructuurvoorziening verbetert de snelheid en wendbaarheid van DevOps-workflows. BMC, in combinatie met Terraform Cloud, stelt teams in staat zich te concentreren op het bouwen van software in plaats van tijd te verspillen met wachten tot hun dedicated servers handmatig worden ingericht.


Cloud computing

  1. Construeer uw cloudinfrastructuur voor prestaties, efficiëntie
  2. Waarom IT-professionals kaartvaardigheden nodig hebben
  3. Is de infrastructuur op locatie verouderd?
  4. Wekelijks pakket:bewolkt met kans op innovatie
  5. Voor- en nadelen van Infrastructure-as-Code
  6. Voordelen van het gebruik van de cloud met DevOps-services
  7. Code Ready-containers:aan de slag met procesautomatiseringstools in de cloud
  8. Cloud computing-infrastructuur; De basis begrijpen
  9. AWS CHEAT SHEET:met examengids
  10. om plaatwerk te buigen met een kantpers
  11. Serverprovisioning automatiseren in Bare Metal Cloud met MAAS (Metal-as-a-Service) van Canonical