Terraform (programari)
Terraform és un programari per gestionar automàticament els recursos en un centre de dades (Platform as a Service) com ara les màquines virtuals, espais d'emmagatzematge, subxarxes, bases de dades, grups de seguretat, etc. És programari de codi de codi obert publicat per HashiCorp. La infraestructura es descriu en forma del llenguatge de configuració Hashicorp Configuration Language (HCL). També és possible utilitzar el llenguatge JSON.[1] Terraform permet, sobretot, definir topologies de núvol per als principals proveïdors d'infraestructura cloud, com ara Amazon Web Services, IBM Cloud (abans Bluemix), Google Cloud Platform, Linode,[2][3] Microsoft Azure, Oracle Cloud Infrastructure, OVHcloud,[4][5] o VMware, vSphere i OpenStack,.[6][7][8][9][10][11] Els recursos descrits al codi HCL Terraform, depenen del proveïdor d'infraestructura del núvol. Per exemple, un recurs Terraform definit per a una topologia Amazon no es pot reutilitzar per a una topologia OpenStack o Microsoft Azure, perquè no tenen les mateixes propietats. Ordres principals
ProviderUn Provider és la representació del proveïdor d'infraestructura a Terraform. Inclou diferents recursos que es poden desplegar. State fileTerraform desa l'estat de la seva configuració en un fitxer pla anomenat state file. Quan s'utilitza l'ordre Es pot emmagatzemar localment (amb la configuració de Terraform) o en un dispositiu remot.[12] Paraules clauresource
Un recurs (paraula clau resource "database" "my_database" {
engine = "mysql"
} Cada recurs té un tipus ( dataUna dada és un objecte Terraform del que en volem recuperar atributs : data "database" "my_database" {
database_id = "...."
} Els atributs són accessibles mitjançant les variableEs pot donar una variable ( En primer lloc, cal definir la variable : variable "example" {
description = "Aquesta és una variable d'exemple"
type = string
default = "Wikipedia"
}
Aleshores podem instanciar-ho (si no ho fem, Terraform utilitzarà el valor example = "Hola, Món!" També és possible utilitzar un fitxer de variables (per exemple, específic per a diferents entorns) i posar-lo com a argument de Les variables de Terraform tenen noms com : output
Una sortida és un objecte Terraform que s'utilitza per desar un atribut d'un recurs o dades per reutilitzar-lo en un altre codi de Terraform o simplement per mostrar-lo al terminal, al final de l'ordre output "my_database_id" {
value = data.database.my_database.engine_version
} moduleUn mòdul és una part reutilitzable del codi Terraform. Com qualsevol altre arbre de Terraform, un mòdul té recursos, dades, variables i sortides. Per definir un mòdul : module "create_database" {
source = "./modules/database"
database_size = 1024
} Referències
Vegeu tambéEnllaços externs |
Portal di Ensiklopedia Dunia