Terraformų teikėjai

Terraformu Teikejai



Vienas iš populiariausių ir atvirojo kodo infrastruktūros kaip kodo įrankių yra „Terraform“. Tai leidžia kūrėjams deklaratyviai apibrėžti ir valdyti jūsų infrastruktūrą. Tai leidžia jiems kurti, valdyti ir keisti infrastruktūros išteklius naudojant paprastą ir nuoseklią sintaksę, neatsižvelgiant į pagrindinę debesų platformą ar paslaugų teikėją.

Šiame straipsnyje aptariama, kaip naudoti ir konfigūruoti skirtingus teikėjus, kad jie sąveikautų su įvairiomis debesų platformomis ir paslaugomis.

Įvadas į Terraform Providers

„Terraform“ teikėjai yra papildiniai, leidžiantys mums bendrauti su įvairiomis debesų platformomis ir paslaugomis naudojant „Terraform“. Šie teikėjai yra atsakingi už „Terraform“ konfigūracijos pavertimą API iškvietimais, kurie yra būtini norint valdyti išteklius konkrečioje debesų platformoje ar paslaugoje.







„Terraform“ teikėjų tipai

Viduje Terraformų registras , matome trijų tipų teikėjus:



Oficialūs tiekėjai

Oficialius tiekėjus prižiūri HashiCorp įmonė, kuriai priklauso Terraform. Šie teikėjai yra geriausias galimas pasirinkimas, jei mums reikia gerai dokumentuotų ir naujausių paslaugų teikėjų.



AWS, „Microsoft Azure“ ir „Google Cloud Platform“ teikėjai gali būti oficialių „Terraform“ teikėjų pavyzdžiai.





Partnerių teikėjai

Trečiųjų šalių organizacijos palaiko šiuos teikėjus ir bendradarbiauja su „HashiCorp“, kad teiktų oficialų jų paslaugų palaikymą.

„GitLab“, „MongoDB“ ir „CloudFlare“ teikėjai yra kai kurie partnerių teikėjai, kuriuos gali pasiekti vartotojai.



Bendruomenės teikėjai

Bendruomenės teikėjus paprastai kuria „Terraform“ bendruomenės asmenys arba organizacijos, norintys valdyti išteklius debesies platformoje arba paslaugoje, kurios nepalaiko oficialus ar partneris teikėjas.

Kai kurie bendruomenės teikėjų pavyzdžiai rodomi šiame paveikslėlyje:

Kaip naudotis Terraform Provider

Norėdami naudoti „Terraform“ teikėją, į savo konfigūracijos failą turime įtraukti teikėjo bloką, kuriame nurodomas teikėjas, kurį norime naudoti, ir visi reikalingi konfigūracijos parametrai, pvz., kredencialai arba regionas.

Kai teikėjas bus sukonfigūruotas, galime naudoti išteklius ir duomenų šaltinius, kuriuos teikėjas pateikia mūsų Terraform konfigūracijoje, kad tvarkytume debesų platformos ar paslaugos išteklius.

Sukurkime paprastą Terraform konfigūracijos failą, kuris sukuria EC2 egzempliorių AWS debesies platformoje.

teikėjas 'aws' {

versija = '~> 3,0'

regionas = 'us-rytai-2'

}

išteklių 'aws_instance' 'manoEC2' {

kuris = 'ami-0a561b65214a47cac'

instance_type = 't3. mažas'

žymės = {

Vardas = 'nauja instancija'

}

}

Pirmiausia apibrėžiame teikėjo bloką, nurodydami AWS teikėją ir regioną, kuriame kuriami ištekliai. Tada apibrėžiame išteklių bloką, kurį sudaro aws_instance kaip išteklių tipas, „myEC2“ kaip ištekliaus pavadinimas ir „ami“, „instance_type“ ir „tags“ kaip atributai. Ištekliaus tipą galima suskirstyti į dvi dalis: tiekėjas ir išteklius. Šiuo atveju „aws“ yra teikėjas, o „pavyzdys“ yra šaltinis. Be to, jei kam reikia pateikti dešimt EC2 egzempliorių, atributas „count“ gali būti naudojamas su dešimt kaip verte.

Dabar galime atlikti „Terraform“ srautą, kuris apima „Terraform“ inicijavimo, „Terraform“ plano ir „Terraform Application“ komandų vykdymą, kad sukurtume mūsų apibrėžtą šaltinį.

Naudodamiesi Terraform AWS teikėju galime pasiekti AWS debesies platformą ir efektyviai bendrauti su jos paslaugomis nenaudodami AWS valdymo konsolės.

Kelių teikėjų naudojimas „Terraform“.

Užuot naudoję vieną teikėją, „Terraform“ leidžia mums naudoti kelis teikėjus tame pačiame „Terraform“ konfigūracijos faile, kad galėtume sąveikauti su įvairių tipų paslaugomis ir debesų platformomis.

Kad suprastumėte, pateiksime pavyzdį, kai įdiegiame skaičiavimo variklį „Google Cloud Platform“, „GitHub“ saugyklą ir S3 segmentą AWS debesies platformoje.

teikėjas 'google' {

projektas = 'pirmasis projektas'

regionas = 'us-vakarai1'

}

teikėjas 'github' {

žetonas = „YOUR_GITHUB_TOKEN“

}

teikėjas 'aws' {

versija = '~> 3,0'

regionas = 'us-vakarai-2'

}

išteklių „google_compute_instance“ 'gcpInstance' {

vardas = 'nauja instancija'

mašinos_tipas = 'n1-standard-1'

zona = 'us-west1-a'

įkrovos_disk {

inicializuoti_params {

vaizdas = „debian-cloud/debian-10“

}

}

}

išteklių „github_repository“ 'gitRepo' {

vardas = 'naujas atpirkimas'

aprašymas = 'Tai mano nauja saugykla'

}

išteklių 'aws_s3_bucket' 'awsBucket' {

kibiras = 'naujas kibiras'

acl = 'privatus'

}

Pirmiausia apibrėžiame teikėjų blokus, kad nurodytume teikėjus („Google“, „GitHub“ ir AWS) ir reikiamą informaciją, pvz., regioną, projekto pavadinimą ir kt. Tada deklaruojame savo išteklius naudodami tris išteklių blokus: „gcpInstance“, „ gitRepo“ ir „awsBucket“.

Pirmiausia „Google Cloud Platform“ sukuriame skaičiavimo variklį, kurio pavadinimas yra „naujas egzempliorius“, įrenginio tipas – „n1-standard-1“, o pasiekiamumo zona – „us-west1-a“. Jis naudoja Debian kaip pagrindinę OS. Tada sukuriame „GitHub“ saugyklą pavadinimu „new-repo“ ir tinkamą aprašą. Galiausiai sukuriamas S3 segmentas, kurio pavadinimas yra „new-bucket“, o „privatus“ – kaip ACL (prieigos valdymo sąrašo) reikšmė.

Su šiais trimis „Terraform“ teikėjais galime lengvai bendrauti su debesų platformomis ir jų paslaugomis.

Geriausia darbo su Terraform paslaugų teikėjais praktika

Teikėjo versijų kūrimas

Turėtume nurodyti teikėjo versiją, nes tai padeda užtikrinti nuoseklumą ir išvengti netikėto elgesio, atsirandančio dėl naujesnių versijų pakeitimų.

Teikėjo autentifikavimas

Galime naudoti saugius autentifikavimo mechanizmus, tokius kaip API raktai ir prieigos žetonai, kad autentifikuotume ir įgaliotume Terraform sąveikauti su atitinkama debesies platforma ar paslauga.

Teikėjo dokumentacija

Teikėjai dažnai turi tam tikras konfigūracijos parinktis, funkcijas ir apribojimus. Suprasdami šią mokymo programą, galime efektyviai naudotis paslaugų teikėju ir išvengti įprastų spąstų.

Teikėjo atnaujinimai

Teikėjai gali išleisti klaidų pataisymus, našumo patobulinimus ir naujas funkcijas. Būdami atnaujinami, galime pasinaudoti naujausiais patobulinimais ir išlaikyti suderinamumą su tiekėjo ekosistema.

Bendruomenės parama

Galime naudoti internetinius forumus, diskusijų lentas ir bendruomenės kanalus, kad išspręstume kasdienius iššūkius, su kuriais susiduriama naudojantis paslaugų teikėjais.

Klaidų tvarkymas ir trikčių šalinimas

Gera praktika yra susipažinti su teikėjo klaidų pranešimais, žurnalais ir derinimo metodais, kad tai padėtų mums efektyviau diagnozuoti ir išspręsti problemas.

Išvada

Trumpai supažindinome su Terraform tiekėjais. Aptarėme, kaip naudoti ir konfigūruoti jas sąveikauti su įvairiomis debesų platformomis ir paslaugomis, ir kaip naudoti kelis tiekėjus, kad būtų galima valdyti išteklius įvairiose debesijos platformose ir paslaugose, naudodamiesi lengvai suprantamais pavyzdžiais.