Poskytovatelé Terraformu

Poskytovatele Terraformu



Jedním z populárních a open-source nástrojů Infrastructure as a Code je Terraform. Umožňuje vývojářům definovat a spravovat vaši infrastrukturu deklarativně. Umožňuje jim vytvářet, spravovat a upravovat prostředky infrastruktury pomocí jednoduché a konzistentní syntaxe bez ohledu na základní cloudovou platformu nebo poskytovatele služeb.

Tento článek popisuje, jak používat a konfigurovat různé poskytovatele pro interakci s různými cloudovými platformami a službami.

Úvod do Terraform Providers

Poskytovatelé Terraform jsou pluginy, které nám umožňují interakci s různými cloudovými platformami a službami pomocí Terraform. Tito poskytovatelé jsou zodpovědní za překlad konfigurace Terraform do volání API, která jsou nezbytná pro správu zdrojů na konkrétní cloudové platformě nebo službě.







Typy poskytovatelů v Terraformu

V Teraformní registr , můžeme vidět tři typy poskytovatelů:



Oficiální poskytovatelé

Oficiální poskytovatelé jsou udržováni společností HashiCorp, která vlastní Terraform. Tito poskytovatelé jsou nejlepší dostupnou možností, pokud potřebujeme dobře zdokumentované a aktuální poskytovatele.



Poskytovatelé AWS, Microsoft Azure a Google Cloud Platform mohou být příklady oficiálních poskytovatelů v Terraformu.





Partnerští poskytovatelé

Organizace třetích stran udržují tyto poskytovatele a uzavřely partnerství s HashiCorp za účelem poskytování oficiální podpory pro jejich služby.

Poskytovatelé GitLab, MongoDB a CloudFlare jsou některými partnerskými poskytovateli, kteří jsou uživatelům k dispozici.



Komunitní poskytovatelé

Poskytovatelé komunity jsou obvykle vytvářeni jednotlivci nebo organizacemi komunity Terraform, kteří chtějí spravovat zdroje na cloudové platformě nebo službě, která není podporována oficiálním nebo partnerským poskytovatelem.

Některé příklady komunitních poskytovatelů jsou uvedeny na následujícím obrázku:

Jak používat Terraform Provider

Abychom mohli používat poskytovatele Terraform, musíme do našeho konfiguračního souboru zahrnout blok poskytovatele, který specifikuje poskytovatele, kterého chceme použít, a všechny požadované konfigurační parametry, jako jsou přihlašovací údaje nebo region.

Jakmile je poskytovatel nakonfigurován, můžeme používat zdroje a zdroje dat, které poskytuje poskytovatel v naší konfiguraci Terraform, ke správě zdrojů na cloudové platformě nebo službě.

Vytvořme jednoduchý konfigurační soubor Terraform, který vytvoří instanci EC2 v cloudové platformě AWS.

poskytovatel 'aws' {

verze = '~> 3.0'

region = 'us-východ-2'

}

zdroj 'aws_instance' 'myEC2' {

což = 'ami-0a561b65214a47cac'

instance_type = 't3. malý'

značky = {

Jméno = 'nová instance'

}

}

Nejprve definujeme blok poskytovatele, specifikujeme poskytovatele AWS a region, kde jsou zdroje vytvořeny. Poté definujeme náš zdrojový blok tak, že se skládá z aws_instance jako typu zdroje, „myEC2“ jako názvu zdroje a „ami“, „instance_type“ a „tags“ jako atributů. Typ zdroje lze rozdělit na dvě části: Poskytovatel a Zdroj. V tomto případě je „aws“ poskytovatel a „instance“ je zdroj. Pokud někdo potřebuje zajistit deset instancí EC2, lze atribut „count“ použít s hodnotou deset.

Nyní můžeme provést tok Terraform, který zahrnuje spuštění příkazů terraform init, terraform plan a terraform apply k vytvoření prostředku, který jsme definovali.

Pomocí poskytovatele Terraform AWS můžeme přistupovat ke cloudové platformě AWS a efektivně interagovat s jejími službami bez použití AWS Management Console.

Použití více poskytovatelů v Terraformu

Spíše než použití jednoho poskytovatele nám Terraform umožňuje používat více poskytovatelů v rámci stejného konfiguračního souboru Terraform pro interakci s různými typy služeb a cloudových platforem.

Pro pochopení si uveďme příklad, kdy nasazujeme výpočetní stroj v Google Cloud Platform, úložiště v GitHubu a S3 bucket v cloudové platformě AWS.

poskytovatel 'Google' {

projekt = 'první projekt'

region = 'us-west1'

}

poskytovatel 'github' {

token = 'VÁŠ_GITHUB_TOKEN'

}

poskytovatel 'aws' {

verze = '~> 3.0'

region = 'nás-západ-2'

}

zdroj 'google_compute_instance' 'gcpInstance' {

jméno = 'nová instance'

typ_stroje = 'n1-standard-1'

zóna = 'us-west1-a'

boot_disk {

initialize_params {

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

}

}

}

zdroj 'github_repository' 'gitRepo' {

jméno = 'new-repo'

popis = 'Toto je můj nový repozitář'

}

zdroj 'aws_s3_bucket' 'awsBucket' {

vědro = 'nový kbelík'

acl = 'soukromý'

}

Jako první krok definujeme bloky našich poskytovatelů, abychom specifikovali poskytovatele (Google, GitHub a AWS) a potřebné informace, jako je region, název projektu atd. Poté deklarujeme naše zdroje pomocí tří bloků zdrojů: „gcpInstance“, „ gitRepo“ a „awsBucket“.

Nejprve v Google Cloud Platform vytvoříme výpočetní stroj s názvem „nová instance“, „n1-standard-1“ jako typ počítače a „us-west1-a“ jako zóna dostupnosti. Jako hostitelský OS používá Debian. Poté vytvoříme úložiště GitHub s názvem „new-repo“ a vhodný popis. Nakonec je vytvořen segment S3 s názvem „new-bucket“ a „private“ jako hodnotou ACL (Access Control List).

S těmito třemi poskytovateli Terraform můžeme snadno komunikovat s cloudovými platformami a jejich službami.

Nejlepší postupy pro práci s poskytovateli Terraform

Verze poskytovatele

Měli bychom specifikovat verzi poskytovatele, protože pomáhá zajistit konzistenci a předchází neočekávanému chování v důsledku změn v novějších verzích.

Ověření poskytovatele

Můžeme využít zabezpečené mechanismy autentizace, jako jsou klíče API a přístupové tokeny, k ověření a autorizaci Terraformu k interakci s příslušnou cloudovou platformou nebo službou.

Dokumentace poskytovatele

Poskytovatelé mají často specifické možnosti konfigurace, funkce a omezení. Pochopení tohoto návodu nám pomáhá využívat poskytovatele efektivně a vyhnout se běžným nástrahám.

Aktualizace poskytovatele

Poskytovatelé mohou vydat opravy chyb, vylepšení výkonu a nové funkce. Zůstat aktuální nám umožňuje využívat nejnovější vylepšení a udržovat kompatibilitu s ekosystémem poskytovatele.

Podpora komunity

Můžeme využít online fóra, diskusní fóra a komunitní kanály k řešení každodenních problémů, se kterými se setkáváme při používání poskytovatelů.

Zpracování chyb a odstraňování problémů

Je dobrým zvykem seznámit se s chybovými zprávami, protokoly a technikami ladění poskytovatele, aby nám to pomohlo efektivněji diagnostikovat a řešit problémy.

Závěr

Udělali jsme krátký úvod k poskytovatelům Terraform. Diskutovali jsme o tom, jak je používat a konfigurovat pro interakci s různými cloudovými platformami a službami a jak používat více poskytovatelů ke správě zdrojů napříč různými cloudovými platformami a službami prostřednictvím snadno srozumitelných příkladů.