Poskytovatelia Terraform

Poskytovatelia Terraform



Jedným z populárnych a otvorených nástrojov Infrastructure as a Code je Terraform. Umožňuje vývojárom deklaratívne definovať a spravovať vašu infraštruktúru. Umožňuje im vytvárať, spravovať a upravovať zdroje infraštruktúry pomocou jednoduchej a konzistentnej syntaxe bez ohľadu na základnú cloudovú platformu alebo poskytovateľa služieb.

Tento článok popisuje, ako používať a konfigurovať rôznych poskytovateľov na interakciu s rôznymi cloudovými platformami a službami.

Úvod k poskytovateľom Terraform

Poskytovatelia Terraform sú doplnky, ktoré nám umožňujú interakciu s rôznymi cloudovými platformami a službami pomocou Terraform. Títo poskytovatelia sú zodpovední za preklad konfigurácie Terraform do volaní API, ktoré sú potrebné na správu zdrojov na konkrétnej cloudovej platforme alebo službe.







Typy poskytovateľov v Terraforme

V Teraformný register , môžeme vidieť tri typy poskytovateľov:



Oficiálni poskytovatelia

Oficiálnych poskytovateľov spravuje spoločnosť HashiCorp, ktorá vlastní Terraform. Títo poskytovatelia sú najlepšou dostupnou možnosťou, ak potrebujeme dobre zdokumentovaných a aktuálnych poskytovateľov.



Príkladmi oficiálnych poskytovateľov v Terraforme môžu byť poskytovatelia AWS, Microsoft Azure a Google Cloud Platform.





Partnerskí poskytovatelia

Organizácie tretích strán udržiavajú týchto poskytovateľov a uzavreli partnerstvo s HashiCorp, aby poskytli oficiálnu podporu pre ich služby.

Poskytovatelia GitLab, MongoDB a CloudFlare sú niektorí partnerskí poskytovatelia, ktorí sú k dispozícii pre používateľov.



Komunitní poskytovatelia

Poskytovatelia komunity sú zvyčajne vytváraní jednotlivcami alebo organizáciami komunity Terraform, ktorí chcú spravovať zdroje na cloudovej platforme alebo službe, ktorú nepodporuje oficiálny alebo partnerský poskytovateľ.

Niektoré príklady komunitných poskytovateľov sú zobrazené na nasledujúcom obrázku:

Ako používať Terraform Provider

Ak chcete použiť poskytovateľa Terraform, musíme do nášho konfiguračného súboru zahrnúť blok poskytovateľa, ktorý špecifikuje poskytovateľa, ktorého chceme použiť, a všetky požadované konfiguračné parametre, ako sú poverenia alebo región.

Keď je poskytovateľ nakonfigurovaný, môžeme použiť zdroje a zdroje údajov, ktoré poskytuje poskytovateľ v našej konfigurácii Terraform, na správu zdrojov na cloudovej platforme alebo službe.

Vytvorme jednoduchý konfiguračný súbor Terraform, ktorý vytvorí inštanciu EC2 v cloudovej platforme AWS.

poskytovateľa 'aws' {

verzia = '~> 3.0'

región = 'us-východ-2'

}

zdroj 'aws_instance' 'myEC2' {

ktorý = 'ami-0a561b65214a47cac'

typ_inštancie = 't3. malý'

značky = {

Meno = 'nová inštancia'

}

}

Najprv definujeme blok poskytovateľa, pričom uvedieme poskytovateľa AWS a región, kde sú zdroje vytvorené. Potom definujeme náš zdrojový blok ako pozostávajúci z aws_instance ako typ zdroja, „myEC2“ ako názov zdroja a „ami“, „instance_type“ a „tags“ ako atribúty. Typ zdroja možno rozdeliť na dve časti: Poskytovateľ a Zdroj. V tomto prípade je „aws“ poskytovateľ a „instance“ je zdroj. Ak niekto potrebuje poskytnúť desať inštancií EC2, atribút „count“ možno použiť s hodnotou desať.

Teraz môžeme vykonať tok Terraform, ktorý zahŕňa vykonanie príkazov init terraform, terraform plan a terraform apply na vytvorenie prostriedku, ktorý sme definovali.

Pomocou poskytovateľa Terraform AWS môžeme pristupovať ku cloudovej platforme AWS a efektívne interagovať s jej službami bez použitia konzoly AWS Management Console.

Používanie viacerých poskytovateľov v Terraforme

Namiesto použitia jedného poskytovateľa nám Terraform umožňuje používať viacerých poskytovateľov v rámci rovnakého konfiguračného súboru Terraform na interakciu s rôznymi typmi služieb a cloudových platforiem.

Pre pochopenie si uveďme príklad, keď nasadíme výpočtový nástroj v platforme Google Cloud Platform, úložisko v GitHub a vedro S3 v cloudovej platforme AWS.

poskytovateľa 'google' {

projekt = 'prvý projekt'

región = 'us-west1'

}

poskytovateľa 'github' {

token = 'YOUR_GITHUB_TOKEN'

}

poskytovateľa 'aws' {

verzia = '~> 3.0'

región = 'us-west-2'

}

zdroj 'google_compute_instance' 'gcpInstance' {

meno = 'nová inštancia'

typ_stroja = 'n1-standard-1'

zóna = 'us-west1-a'

boot_disk {

initialize_params {

obrázok = 'debian-cloud/debian-10'

}

}

}

zdroj 'github_repository' 'gitRepo' {

meno = 'new-repo'

popis = 'Toto je moje nové úložisko'

}

zdroj 'aws_s3_bucket' 'awsBucket' {

vedro = 'nové vedro'

acl = 'súkromné'

}

Ako prvý krok definujeme bloky našich poskytovateľov, aby sme špecifikovali poskytovateľov (Google, GitHub a AWS) a potrebné informácie, ako je región, názov projektu atď. Potom deklarujeme naše zdroje pomocou troch zdrojových blokov: „gcpInstance“, „ gitRepo“ a „awsBucket“.

Najprv vytvoríme výpočtový nástroj v platforme Google Cloud Platform s názvom „new-instance“, „n1-standard-1“ ako typ počítača a „us-west1-a“ ako zónou dostupnosti. Ako hostiteľský OS používa Debian. Potom vytvoríme úložisko GitHub s názvom „new-repo“ a vhodný popis. Nakoniec sa vytvorí segment S3 s názvom „new-bucket“ a „private“ ako hodnotou ACL (Access Control List).

S týmito tromi poskytovateľmi Terraform môžeme jednoducho komunikovať s cloudovými platformami a ich službami.

Osvedčené postupy pre prácu s poskytovateľmi Terraform

Verzia poskytovateľa

Mali by sme špecifikovať verziu poskytovateľa, pretože pomáha zaistiť konzistentnosť a zabraňuje neočakávanému správaniu v dôsledku zmien v novších verziách.

Overenie poskytovateľa

Na overenie a autorizáciu Terraformu na interakciu s príslušnou cloudovou platformou alebo službou môžeme využiť zabezpečené mechanizmy autentifikácie, ako sú kľúče API a prístupové tokeny.

Dokumentácia poskytovateľa

Poskytovatelia majú často špecifické možnosti konfigurácie, funkcie a obmedzenia. Pochopenie tohto návodu nám pomáha využívať poskytovateľa efektívne a vyhnúť sa bežným nástrahám.

Aktualizácie poskytovateľa

Poskytovatelia môžu vydať opravy chýb, vylepšenia výkonu a nové funkcie. Udržiavanie aktuálnych informácií nám umožňuje využívať najnovšie vylepšenia a udržiavať kompatibilitu s ekosystémom poskytovateľa.

Podpora komunity

Môžeme použiť online fóra, diskusné fóra a komunitné kanály na riešenie každodenných problémov, s ktorými sa stretávame pri používaní poskytovateľov.

Spracovanie chýb a odstraňovanie problémov

Je dobrým zvykom oboznámiť sa s chybovými správami, protokolmi a technikami ladenia poskytovateľa, aby nám to pomohlo efektívnejšie diagnostikovať a riešiť problémy.

Záver

Urobili sme krátky úvod k poskytovateľom Terraform. Prostredníctvom ľahko pochopiteľných príkladov sme diskutovali o tom, ako ich používať a konfigurovať na interakciu s rôznymi cloudovými platformami a službami a ako používať viacerých poskytovateľov na správu zdrojov naprieč rôznymi cloudovými platformami a službami.