Proveïdors de Terraform

Proveidors De Terraform



Una de les eines populars i de codi obert d'Infraestructura com a codi és Terraform. Permet als desenvolupadors definir i gestionar la vostra infraestructura de manera declarativa. Els permet crear, gestionar i modificar els recursos de la infraestructura mitjançant una sintaxi senzilla i coherent, independentment de la plataforma de núvol subjacent o del proveïdor de serveis.

En aquest article s'explica com utilitzar i configurar els diferents proveïdors per interactuar amb diverses plataformes i serveis al núvol.

Introducció als proveïdors de Terraform

Els proveïdors de Terraform són connectors que ens permeten interactuar amb diferents plataformes i serveis al núvol mitjançant Terraform. Aquests proveïdors són els responsables de traduir la configuració de Terraform en trucades d'API, que són necessàries per gestionar els recursos en una plataforma o servei al núvol específic.







Tipus de proveïdors a Terraform

En el Registre Terraform , podem veure tres tipus de proveïdors:



Proveïdors oficials

Els proveïdors oficials els manté l'empresa HashiCorp propietària de Terraform. Aquests proveïdors són la millor opció disponible si necessitem els proveïdors ben documentats i actualitzats.



Els proveïdors d'AWS, Microsoft Azure i Google Cloud Platform poden ser exemples de proveïdors oficials a Terraform.





Proveïdors associats

Les organitzacions de tercers mantenen aquests proveïdors i s'han associat amb HashiCorp per oferir un suport oficial per als seus serveis.

Els proveïdors de GitLab, MongoDB i CloudFlare són alguns proveïdors associats que estan disponibles per als usuaris.



Proveïdors comunitaris

Els proveïdors comunitaris solen ser creats per persones o organitzacions de la comunitat Terraform que volen gestionar els recursos en una plataforma o servei al núvol que no és compatible amb un proveïdor oficial o soci.

A la imatge següent es mostren alguns exemples de proveïdors comunitaris:

Com utilitzar un proveïdor de Terraform

Per utilitzar un proveïdor de Terraform, hem d'incloure un bloc de proveïdor al nostre fitxer de configuració que especifiqui el proveïdor que volem utilitzar i qualsevol paràmetre de configuració necessari, com ara les credencials o la regió.

Un cop configurat el proveïdor, podem utilitzar els recursos i les fonts de dades que ens proporciona el proveïdor a la nostra configuració de Terraform per gestionar els recursos a la plataforma o servei al núvol.

Creem un fitxer de configuració senzill de Terraform que creï una instància EC2 a la plataforma de núvol AWS.

proveïdor 'aws' {

versió = '~> 3.0'

regió = 'us-est-2'

}

recurs 'aws_instance' 'el meuEC2' {

quin = 'ami-0a561b65214a47cac'

instància_tipus = 't3. petit'

etiquetes = {

Nom = 'nova instància'

}

}

En primer lloc, definim el bloc del proveïdor, especificant el proveïdor AWS i la regió on es creen els recursos. Aleshores, definim el nostre bloc de recursos com a format d'aws_instance com a tipus de recurs, 'myEC2' com a nom del recurs i 'ami', 'instance_type' i 'etiquetes' com a atributs. El tipus de recurs es pot dividir en dues parts: Proveïdor i Recurs. En aquest cas, 'aws' és el proveïdor i 'instància' és el recurs. A més, si algú necessita subministrar deu instàncies EC2, l'atribut 'count' es pot utilitzar amb deu com a valor.

Ara, podem realitzar el flux de Terraform que inclou l'execució de les ordres d'inici de terraform, terraform plan i terraform per crear el recurs que hem definit.

Mitjançant el proveïdor Terraform AWS, podem accedir a la plataforma de núvol AWS i interactuar amb els seus serveis de manera eficient sense utilitzar la Consola de gestió d'AWS.

Ús de diversos proveïdors a Terraform

En lloc d'utilitzar un sol proveïdor, Terraform ens permet utilitzar diversos proveïdors dins del mateix fitxer de configuració de Terraform per interactuar amb diversos tipus de serveis i plataformes de núvol.

Per a la vostra comprensió, tinguem un exemple en què despleguem un motor de càlcul a Google Cloud Platform, un dipòsit a GitHub i un bucket S3 a la plataforma de núvol AWS.

proveïdor 'Google' {

projecte = 'primer projecte'

regió = 'us-oest1'

}

proveïdor 'github' {

testimoni = 'YOUR_GITHUB_TOKEN'

}

proveïdor 'aws' {

versió = '~> 3.0'

regió = 'us-oest-2'

}

recurs 'google_compute_instance' 'gcpInstance' {

nom = 'nova instància'

tipus_màquina = 'n1-estàndard-1'

zona = 'us-west1-a'

disc_arrencada {

initialize_params {

imatge = 'debian-cloud/debian-10'

}

}

}

recurs 'github_repository' 'gitRepo' {

nom = 'nou repo'

descripció = 'Aquest és el meu nou repositori'

}

recurs 'aws_s3_bucket' 'awsBucket' {

galleda = 'cubeta nova'

acl = 'privat'

}

Com a primer pas, definim els nostres blocs de proveïdors per especificar els proveïdors (Google, GitHub i AWS) i la informació necessària com la regió, el nom del projecte, etc. A continuació, declarem els nostres recursos mitjançant tres blocs de recursos: 'gcpInstance', ' gitRepo' i 'awsBucket'.

Primer, creem un motor de càlcul a Google Cloud Platform amb la 'instància nova' com a nom, 'n1-estàndard-1' com a tipus de màquina i 'us-west1-a' com a zona de disponibilitat. Utilitza Debian com a sistema operatiu amfitrió. A continuació, creem un dipòsit de GitHub anomenat 'new-repo' i una descripció adequada. Finalment, es fa un bucket S3 amb el 'new-bucket' com a nom i 'private' com a valor ACL (Access Control List).

Amb aquests tres proveïdors de Terraform, podem interactuar fàcilment amb les plataformes al núvol i els seus serveis.

Bones pràctiques per treballar amb proveïdors de Terraform

Versions del proveïdor

Hem d'especificar la versió del proveïdor, ja que ajuda a garantir la coherència i evita comportaments inesperats a causa dels canvis de ruptura de les versions més noves.

Autenticació del proveïdor

Podem utilitzar els mecanismes d'autenticació segurs, com ara les claus de l'API i els testimonis d'accés per autenticar i autoritzar Terraform a interactuar amb la plataforma o servei al núvol corresponent.

Documentació del proveïdor

Els proveïdors solen tenir opcions de configuració, funcions i limitacions específiques. Entendre aquest tutorial ens ajuda a utilitzar el proveïdor de manera eficaç i evitar inconvenients habituals.

Actualitzacions del proveïdor

Els proveïdors poden publicar correccions d'errors, millores de rendiment i funcions noves. Mantenir-nos al dia ens permet aprofitar les últimes millores i mantenir la compatibilitat amb l'ecosistema del proveïdor.

Suport comunitari

Podem utilitzar els fòrums en línia, els taulers de discussió i els canals de la comunitat per resoldre els reptes quotidians que es troben en utilitzar els proveïdors.

Tractament d'errors i resolució de problemes

És una bona pràctica familiaritzar-nos amb els missatges d'error, els registres i les tècniques de depuració del proveïdor perquè ens ajudi a diagnosticar i resoldre els problemes de manera més eficient.

Conclusió

Hem fet una breu introducció als proveïdors de Terraform. Hem parlat de com utilitzar-los i configurar-los per interactuar amb diverses plataformes i serveis al núvol i com utilitzar diversos proveïdors per gestionar els recursos en diferents plataformes i serveis al núvol mitjançant exemples fàcils d'entendre.