Terraformu nodrošinātāji

Terraformu Nodrosinataji



Viens no populārajiem un atvērtā koda infrastruktūras kā koda rīkiem ir Terraform. Tas ļauj izstrādātājiem deklaratīvi definēt un pārvaldīt jūsu infrastruktūru. Tas ļauj viņiem izveidot, pārvaldīt un modificēt infrastruktūras resursus, izmantojot vienkāršu un konsekventu sintaksi neatkarīgi no pamatā esošās mākoņa platformas vai pakalpojumu sniedzēja.

Šajā rakstā ir apskatīts, kā izmantot un konfigurēt dažādus pakalpojumu sniedzējus, lai mijiedarbotos ar dažādām mākoņa platformām un pakalpojumiem.

Ievads Terraform Providers

Terraform nodrošinātāji ir spraudņi, kas ļauj mums mijiedarboties ar dažādām mākoņa platformām un pakalpojumiem, izmantojot Terraform. Šie pakalpojumu sniedzēji ir atbildīgi par Terraform konfigurācijas pārveidošanu API izsaukumos, kas ir nepieciešami, lai pārvaldītu resursus noteiktā mākoņa platformā vai pakalpojumā.







Pakalpojumu sniedzēju veidi Terraformā

Iekš Terraformu reģistrs , mēs varam redzēt trīs veidu pakalpojumu sniedzējus:



Oficiālie pakalpojumu sniedzēji

Oficiālos pakalpojumu sniedzējus uztur uzņēmums HashiCorp, kam pieder Terraform. Šie pakalpojumu sniedzēji ir labākā pieejamā iespēja, ja mums ir nepieciešami labi dokumentēti un atjaunināti pakalpojumu sniedzēji.



AWS, Microsoft Azure un Google Cloud Platform nodrošinātāji var būt oficiālo pakalpojumu sniedzēju piemēri pakalpojumā Terraform.





Partneru nodrošinātāji

Trešo pušu organizācijas uztur šos pakalpojumu sniedzējus un sadarbojas ar HashiCorp, lai sniegtu oficiālu atbalstu saviem pakalpojumiem.

GitLab, MongoDB un CloudFlare pakalpojumu sniedzēji ir daži partneru nodrošinātāji, kas ir pieejami lietotājiem.



Kopienas pakalpojumu sniedzēji

Kopienas pakalpojumu sniedzējus parasti izveido Terraform kopienas personas vai organizācijas, kuras vēlas pārvaldīt resursus mākoņa platformā vai pakalpojumā, ko neatbalsta oficiālais vai partneru nodrošinātājs.

Daži kopienas pakalpojumu sniedzēju piemēri ir parādīti šajā attēlā:

Kā lietot Terraform Provider

Lai izmantotu Terraform nodrošinātāju, mūsu konfigurācijas failā ir jāiekļauj nodrošinātāja bloks, kas norāda pakalpojumu sniedzēju, kuru vēlamies izmantot, un visus nepieciešamos konfigurācijas parametrus, piemēram, akreditācijas datus vai reģionu.

Kad pakalpojumu sniedzējs ir konfigurēts, mēs varam izmantot resursus un datu avotus, ko nodrošinātājs nodrošina mūsu Terraform konfigurācijā, lai pārvaldītu resursus mākoņa platformā vai pakalpojumā.

Izveidosim vienkāršu Terraform konfigurācijas failu, kas izveido EC2 gadījumu AWS mākoņa platformā.

pakalpojumu sniedzējs 'aws' {

versija = '~> 3,0'

reģions = 'us-east-2'

}

resursu 'aws_instance' 'myEC2' {

kas = 'ami-0a561b65214a47cac'

instance_type = 't3. mazs'

tagi = {

Vārds = 'jaunā instance'

}

}

Pirmkārt, mēs definējam nodrošinātāja bloku, norādot AWS nodrošinātāju un reģionu, kurā tiek izveidoti resursi. Pēc tam mēs definējam mūsu resursu bloku, kas sastāv no aws_instance kā resursa veida, “myEC2” kā resursa nosaukuma un “ami”, “instance_type” un “tags” kā atribūtiem. Resursa veidu var iedalīt divās daļās: nodrošinātājs un resurss. Šajā gadījumā “aws” ir nodrošinātājs, un “instance” ir resurss. Turklāt, ja kādam ir jānodrošina desmit EC2 gadījumi, atribūtu “count” var izmantot ar desmit kā vērtību.

Tagad mēs varam veikt Terraform plūsmu, kas ietver terraformas init izpildi, terraform plāna un terraform lietotās komandas, lai izveidotu mūsu definēto resursu.

Izmantojot Terraform AWS nodrošinātāju, mēs varam piekļūt AWS mākoņa platformai un efektīvi mijiedarboties ar tās pakalpojumiem, neizmantojot AWS pārvaldības konsoli.

Vairāku pakalpojumu sniedzēju izmantošana Terraformā

Tā vietā, lai izmantotu vienu pakalpojumu sniedzēju, Terraform ļauj mums vienā Terraform konfigurācijas failā izmantot vairākus pakalpojumu sniedzējus, lai mijiedarbotos ar dažāda veida pakalpojumiem un mākoņa platformām.

Jūsu izpratnei piedāvāsim piemēru, kurā mēs izvietojam skaitļošanas programmu Google mākoņa platformā, krātuvi GitHub un S3 segmentu AWS mākoņa platformā.

pakalpojumu sniedzējs 'google' {

projekts = 'pirmais projekts'

reģions = 'us-rietumi1'

}

pakalpojumu sniedzējs 'github' {

marķieris = 'YOUR_GITHUB_TOKEN'

}

pakalpojumu sniedzējs 'aws' {

versija = '~> 3,0'

reģions = 'us-rietumi-2'

}

resurss 'google_compute_instance' 'gcpInstance' {

vārds = 'jaunā instance'

mašīnas_tips = 'n1-standarta-1'

zona = 'us-west1-a'

boot_disk {

inicializēt_parametri {

attēls = 'debian-cloud/debian-10'

}

}

}

resurss 'github_repository' 'gitRepo' {

vārds = 'jaunais repo'

apraksts = 'Šī ir mana jaunā krātuve'

}

resurss 'aws_s3_bucket' 'awsBucket' {

spainis = 'jauns spainis'

acl = 'Privāts'

}

Vispirms mēs definējam pakalpojumu sniedzēju blokus, lai norādītu pakalpojumu sniedzējus (Google, GitHub un AWS) un nepieciešamo informāciju, piemēram, reģionu, projekta nosaukumu utt. Pēc tam mēs deklarējam savus resursus, izmantojot trīs resursu blokus: “gcpInstance”, “ gitRepo” un “awsBucket”.

Pirmkārt, Google mākoņa platformā mēs izveidojam skaitļošanas programmu, kuras nosaukums ir “new-stance”, mašīnas veids ir “n1-standard-1” un pieejamības zona “us-west1-a”. Tas izmanto Debian kā resursdatora OS. Pēc tam mēs izveidojam GitHub repozitoriju ar nosaukumu “new-repo” un piemērotu aprakstu. Visbeidzot, tiek izveidots S3 segments ar nosaukumu “new-bucket” un “privāts” kā ACL (piekļuves kontroles saraksta) vērtību.

Izmantojot šos trīs Terraform pakalpojumu sniedzējus, mēs varam viegli mijiedarboties ar mākoņa platformām un to pakalpojumiem.

Paraugprakse darbam ar Terraform pakalpojumu sniedzējiem

Pakalpojumu sniedzēja versiju noteikšana

Mums ir jānorāda nodrošinātāja versija, jo tā palīdz nodrošināt konsekvenci un novērš negaidītas darbības, ko izraisa jaunākās versijās veiktās izmaiņas.

Pakalpojumu sniedzēja autentifikācija

Mēs varam izmantot drošus autentifikācijas mehānismus, piemēram, API atslēgas un piekļuves marķierus, lai autentificētu un pilnvarotu Terraform mijiedarboties ar attiecīgo mākoņa platformu vai pakalpojumu.

Pakalpojumu sniedzēja dokumentācija

Pakalpojumu sniedzējiem bieži ir noteiktas konfigurācijas opcijas, līdzekļi un ierobežojumi. Izpratne par šo apmācību palīdz mums efektīvi izmantot pakalpojumu sniedzēju un izvairīties no bieži sastopamām kļūmēm.

Pakalpojumu sniedzēja atjauninājumi

Pakalpojumu sniedzēji var izlaist kļūdu labojumus, veiktspējas uzlabojumus un jaunas funkcijas. Atjaunināšana ļauj mums izmantot jaunākos uzlabojumus un uzturēt saderību ar pakalpojumu sniedzēja ekosistēmu.

Kopienas atbalsts

Mēs varam izmantot tiešsaistes forumus, diskusiju dēļus un kopienas kanālus, lai atrisinātu ikdienas problēmas, kas rodas, izmantojot pakalpojumu sniedzējus.

Kļūdu apstrāde un traucējummeklēšana

Laba prakse ir iepazīties ar pakalpojumu sniedzēja kļūdu ziņojumiem, žurnāliem un atkļūdošanas metodēm, lai tas palīdzētu mums efektīvāk diagnosticēt un atrisināt problēmas.

Secinājums

Mēs īsi iepazīstinājām ar Terraform nodrošinātājiem. Mēs apspriedām, kā tos izmantot un konfigurēt, lai mijiedarbotos ar dažādām mākoņa platformām un pakalpojumiem, un kā izmantot vairākus pakalpojumu sniedzējus, lai pārvaldītu resursus dažādās mākoņa platformās un pakalpojumos, izmantojot viegli saprotamus piemērus.