Het Maken van een DigitalOcean Druppel met Terravorm

0
185

DigitalOcean is een van de makkelijkst te gebruiken cloud virtual machine aanbieders. Als u behoefte aan een snel voorziene computing omgeving, DigitalOcean virtuele machines meestal beschikbaar zijn in minder dan 60 seconden. In plaats van het gebruik van de user interface (UI), is het vaak het beste om te automatiseren.

Terravorm is een infrastructuur als code voor de taal die kunt u gebruik maken van dienstverleners, zoals DigitalOcean, om bepaling van middelen, zonder gebruik van de DigitalOcen UI. In dit artikel onderzoeken we hoe te gebruiken Terravorm voorziening DigitalOcean Druppel (virtual machine).

Het Installeren Van Terravorm

Terravorm is beschikbaar voor een verscheidenheid aan platforms, Windows en Linux gelijk. De eenvoudigste methode is om de executable downloaden van de link hieronder en plaats het uitvoerbare bestand in een pad om te verwijzen naar het van overal.

https://www.terraform.io/downloads.html

Maak API Sleutels van DigitalOcean

Voor Terravorm om te communiceren met DigitalOcean, we moeten genereren API Sleutels voor gebruik met de DigitalOcean provider. De volgende stappen beschrijven hoe u een nieuwe API key specifiek voor gebruik met Terravorm. U kunt gebruik maken van andere API Sleutels, maar het is een goede praktijk om niet opnieuw toetsen, waar u kunt gemakkelijk van de toegang als dat nodig is.

  1. Login om de DigitalOcean configuratiescherm.
  2. Navigeer naar de API-sectie.
  3. Klik op “Genereer Nieuwe Token.”
  4. Voer een token naam en laat het token zowel de lees-en schrijf rechten.
  5. Kopieer de API-Sleutel als u zal niet worden weergegeven, dan wordt vervolgens gebruikt voor Terravorm.

Aan De Slag

De eerste stap om met een Terravorm setup is het initialiseren van een nieuwe configuratie. Maak eerst een directory naar het huis van onze Terravorm configuratie.

mkdir digitalocean-terravorm
cd digitalocean-terravorm

Volgende, we moeten een digitalocean.tfvars bestand dat we gebruiken om onze API Sleutel die we eerder is gegenereerd. Dit is een best practice, als om niet te hard-code van de referenties. Als u versie controle, die wordt aanbevolen, kunt u negeren .tfvars bestanden, of specifieke producten, zorg ervoor dat deze referenties niet worden opgeslagen binnen het versie controle geschiedenis.

raak digitalocean.tfvars

Binnen de digitalocean.tfvars, maken we een eenvoudige variabele met de naam api_token. Dit zal later worden gebruikt binnen onze Terravorm scripts.

api_token = 12345123213412425

Het maken van de Druppel Bron Bestand

Nu hebben we Terravorm en DigitalOcean configuratie instellen, maken we onze Terravorm configuratie bestand. Maak het bestand digitalocean.tf, en gebruik de boilerplate code hieronder aan de slag te gaan. Om onze configuratie te gebruiken met de provider en referenties, die we nodig hebben om het te vertellen waar je die gegevens.

de variabele “api_token” {
standaard = “”
}

de aanbieder “digitalocean” {
token = var.api_token
}

Nu hebben we ons script geconfigureerd, kunnen we terravorm init code, en het zal nu maken onze Terravorm metagegevens en installeren aanbieders. U zult merken dat de uitvoer van de opdracht geeft de provider worden gedownload voor gebruik. Daarnaast hebben we verteld dat onze dienstverlener gebruik te maken van de referenties die eerder zijn opgegeven in de .tfvars bestand.

Het invullen van de Druppel Opdrachten

In dit geval willen we een voorziening van een simpele druppel bron. Er zijn een aantal parameters die we gaan gebruiken. We willen gebruik maken van hun goedkoopste beschikbare plan, in de NYC1 data center toevoegen, en op een paar van de opties die ervoor zorgt dat de Druppel meer flexibel te zijn in de toekomst.

  • Druppel Afbeelding: ubuntu-18.04-x64
  • Regio: NYC1
  • Grootte: s1-vcpu1-1gb

Nu we onze basis kenmerken, laten we de bouw van een Terravorm config voor deze druppel.

resource ‘digitalocean_droplet” “web” {
afbeelding = “ubuntu-18-04-x64”
name = “test-web-vm”
regio = “nyc1”
size = “s-1vcpu-1gb”
monitoring = true
ipv6 = true
private_networking = true
}

De extra opdrachten die voegen we hier zijn voor de monitoring, ipv6 -, en privé-netwerken. Monitoring betekent dat je gegevens, zoals de CPU en het geheugen, van binnen de DigitalOcean cloud-console. Vervolgens kunt u waarschuwingen instellen op deze gegevens, dus het is zeer nuttig voor de toekomst. IPv6 betekent dat uw druppel zal toegankelijk zijn via IPv6, die helpt om de toekomst van uw druppels. Tot slot, private networking betekent dat uw druppel krijgt een 10.x.x.x-adres dat toegankelijk is voor andere druppels, maar niet in het openbare internet.

Er is nog een andere zeer handige mogelijkheid en dat is gegevens van de gebruiker. Voor Linux, hierdoor kun je bepaalde opdrachten uitvoeren op de bevoorrading van de VM, zoals het bijwerken van de pakketten. We kunnen dit recht in de Terravorm configuratie, door het toevoegen van dit attribuut op.

resource ‘digitalocean_droplet” “web” {
afbeelding = “ubuntu-18-04-x64”
name = “test-web-vm”
regio = “nyc1”
size = “s-1vcpu-1gb”
monitoring = true
ipv6 = true
private_networking = true
user_data = “#cloud-confignpackage_update: truenpackage_upgrade: true”
}

Als u veel te maken met user_data, kunt u de gegevens opslaan in een YAML-bestand en vervolgens binnen de resource-verklaring.

bestand (de”user-gegevens.yml”)

De implementatie van de Druppel

Nu dat onze Terravorm configuratie klaar is, laat ons het implementeren van de druppel door de volgende code.

terravorm van toepassing -var-file=”digitalocean.tfvars

U zou ook opmerken dat een nieuwe .tfstate bestand is gemaakt. Deze vangt de huidige staat dat Terravorm weet van voor uw omgeving. Als u probeert om het implementeren van deze druppel configuratie opnieuw, Terravorm niet, als het al weet, dat de druppel is gemaakt. Als u dit bestand verwijdert, het zal leiden tot Terravorm om niet te erkennen dat de bron bestaat en probeert te maken van het weer.

Inpakken

Zoals je kunt zien aan dit artikel, het maken van een bron in DigitalOcean via Terravorm is snel en eenvoudig. Er zijn veel meer middelen die u kunt verstrekken via de DigitalOcean provider.

Gebruik deze configuratie als code, kunt u een voorziening hele omgevingen snel en gemakkelijk binnen DigitalOcean met Terravorm. Bijvoorbeeld, als u een gloednieuwe ontwikkeling milieu, en je hebt het eerder in kaart gebracht in een Terravorm configuratie met behulp van een eenvoudige implementatie van de opdracht, kunt u een nieuwe ontwikkelomgeving klaar om te gaan.

Het combineren van Terravorm en DigitalOcean maakt een krachtige combinatie die niet alleen beschermt uw infrastructuur, stelt versie controle, maar dwingt samenhang en veiligheid.