Ի՞նչ են պրովայդերները Terraform-ում։
sobes.tech AI
Պատասխան AI-ից
Terraform- ի պրովայդերները — դա պլագիններ են, որոնք գործում են որպես աբստրակցիա տարբեր ամպային ծառայությունների (օրինակ, AWS, Azure, GCP), SaaS-պրովայդերների (օրինակ, GitHub, Datadog) կամ այլ ինֆրակառուցվածքային հարթակների (օրինակ, Kubernetes, vSphere) վրա: Նրանք թույլ են տալիս Terraform-ին փոխազդել այդ հարթակների հետ՝ ռեսուրսներ ստեղծելու, փոփոխելու և ջնջելու համար:
Յուրաքանչյուր պրովայդեր տրամադրում է ռեսուրսների և տվյալների աղբյուրների հավաքածու, որոնք համապատասխանում են նպատակային հարթակի օբյեկտներին: Օրինակ, aws պրովայդերը տրամադրում է aws_instance ռեսուրս՝ EC2 վիրտուալ մեքենաներ կառավարելու համար և aws_ami տվյալների աղբյուր՝ AMI պատկերների մասին տեղեկատվություն ստանալու համար:
Աշխատանքի սկզբունքը՝
- Terraform-ը ուղարկում է հարցում պրովայդերին RCP-ի միջոցով:
- Պրովայդերը վերածում է այդ հարցումը նպատակային հարթակի API-հայցերին:
- Terraform-ը ստանում է պատասխան պրովայդերից՝ գործողության կարգավիճակի մասին:
Պրովայդերի կոնֆիգուրացիան նշվում է .tf ֆայլերում՝
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0" // Պահանջվող պրովայդերի տարբերակի սահմանում
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "~> 2.0"
}
}
}
// AWS պրովայդերի կոնֆիգուրացիա նշված տարածաշրջանի համար
provider "aws" {
region = "us-east-1"
}
// Kubernetes պրովայդերի կոնֆիգուրացիա
provider "kubernetes" {
config_path = "~/.kube/config" // kubeconfig ֆայլի ուղին
}
Հիմնական ասպեկտներ՝
- Աղբյուրներ: Պրովայդերները կարող են լինել HashiCorp-ի (պաշտոնական), համայնքի (վավերացված) կամ երրորդ կողմերի կողմից մշակված:
hashicorp/awsաղբյուրը ցույց է տալիս, որ դա պաշտոնական պրովայդեր է՝ HashiCorp-ի կողմից՝ AWS-ի համար: - Տարբերակավորում: Կարևոր է պրովայդերների տարբերակները ֆիքսել՝ կրկնվող տեղակայումների ապահովման համար: Օգտագործվում են համեմատության օպերատորներ՝
~>,=,>: - Աутենտիկացիա: Պրովայդերները պահանջում են տվյալներ՝ հաստատելու համար՝ նպատակային հարթակում: Աутենտիկացիայի մեթոդները տարբեր են և կարող են ներառել API բանալիներ, OAuth տոքեններ, IAM ռոլեր (AWS-ի համար) և այլն: Կոնֆիգուրացիան հաճախ բեռնվում է փոփոխականներից կամ շրջակա միջավայրից:
- Բազմաթիվ օրինակներ: Կարող է լինել միաժամանակ մի քանի օրինակ՝ նույն պրովայդերի տարբեր կոնֆիգուրացիաներով (օրինակ՝ տարբեր տարածաշրջանների համար):
Վերջում՝ պրովայդերները հիմնարար բաղադրիչ են Terraform-ի, որոնք թույլ են տալիս կառավարել ինֆրակառուցվածքը տարբեր համակարգերում՝ միացյալ դեկլարատիվ սինտաքսիսով։