Mis on Terraformi pakkujad?
sobes.tech AI
Vastus AI-lt
Terraformi pakkujad on pluginad, mis toimivad kui abstraktsioon erinevate pilveteenuste (nt AWS, Azure, GCP), SaaS-teenusepakkujate (nt GitHub, Datadog) või teiste infrastruktuuriplatvormide (nt Kubernetes, vSphere) üle. Nad võimaldavad Terraformil nendega suhelda ressursside loomise, muutmise ja kustutamise jaoks.
Iga pakkuja pakub komplekti ressursside tüüpe ja andmeallikaid, mis vastavad sihtplatvormi objektidele. Näiteks pakkuja aws pakub ressurssi aws_instance EC2 virtuaalmasinate haldamiseks ja andmeallikat aws_ami AMI piltide teabe saamiseks.
Tööpõhimõte:
- Terraform saadab päringu pakkujale RCP kaudu.
- Pakkuja tõlgendab selle päringu sihtplatvormi API-kutseks.
- Terraform saab vastuse pakkujalt operatsiooni staatuse kohta.
Pakkuja konfiguratsioon on määratletud .tf failides:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0" // Nõutava pakkuja versiooni määratlus
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "~> 2.0"
}
}
}
// AWS pakkuja konfiguratsioon määratud piirkonnale
provider "aws" {
region = "us-east-1"
}
// Kubernetes pakkuja konfiguratsioon
provider "kubernetes" {
config_path = "~/.kube/config" // tee kubeconfig failile
}
Peamised aspektid:
- Allikad: Pakkujad võivad olla välja töötatud HashiCorp poolt (ametlikud), kogukonna poolt (kinnitavad) või kolmanda osapoole poolt. Allikas
hashicorp/awsnäitab, et see on ametlik pakkuja HashiCorpilt AWS jaoks. - Versioonimine: Oluline on fikseerida pakkujate versioonid, et tagada korduv kasutus. Kasutatakse võrdlusoperaatoreid (nt
~>,=,>). - Autentimine: Pakkujad nõuavad autentimisandmeid sihtplatvormil. Autentimismeetodid võivad erineda ja hõlmata API võtmeid, OAuth-tokensid, IAM rolle (AWS jaoks) jms. Konfiguratsioon võetakse sageli muutujatest või laaditakse keskkonnast.
- Mitmed eksemplarid: Võimalik on konfigureerida mitu sama pakkuja eksemplari erinevate konfiguratsioonidega (nt erinevate AWS piirkondade jaoks).
Kokkuvõttes on pakkujad Terraformi põhikomponendid, mis võimaldavad hallata infrastruktuuri erinevates süsteemides ühe deklaratiivse süntaksi kaudu.