Terraform-da provayderlər nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Terraform-da təminatçılar müxtəlif bulud xidmətlərinin (məsələn, AWS, Azure, GCP), SaaS təminatçılarının (məsələn, GitHub, Datadog) və ya digər infrastruktur platformalarının (məsələn, Kubernetes, vSphere) API-ləri üzərində abstraksiya kimi çıxış edən plaginlərdir. Onlar Terraform-un bu platformalarla qarşılıqlı əlaqəsini təmin edir, resursların yaradılması, dəyişdirilməsi və silinməsi üçün.
Hər bir təminatçı məqsəd platformasındakı obyektlərə uyğun olan resurs növləri və məlumat mənbələri toplusu təqdim edir. Məsələn, aws təminatçısı EC2 virtual maşınlarını idarə etmək üçün aws_instance resursunu və AMI şəkilləri haqqında məlumat almaq üçün aws_ami məlumat mənbəsini təmin edir.
İş prinsipi:
- Terraform RPC vasitəsilə təminatçıya sorğu göndərir.
- Təminatçı bu sorğunu məqsəd platformanın API çağırışlarına çevirir.
- Terraform əməliyyatın vəziyyəti barədə təminatçıdan cavab alır.
Təminatçı konfiqurasiyası .tf fayllarında göstərilir:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0" // Tələb olunan təminatçı versiyasını göstərir
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "~> 2.0"
}
}
}
// Müəyyən edilmiş region üçün AWS təminatçısının konfiqurasiyası
provider "aws" {
region = "us-east-1"
}
// Kubernetes təminatçısının konfiqurasiyası
provider "kubernetes" {
config_path = "~/.kube/config" // kubeconfig faylının yolu
}
Əsas aspektlər:
- Mənbələr: Təminatçılar HashiCorp (rəsmi), icma (təsdiqlənmiş) və ya üçüncü tərəflər tərəfindən hazırlanmış ola bilər.
hashicorp/awsmənbəsi bunun HashiCorp-un AWS üçün rəsmi təminatçı olduğunu göstərir. - Versiyalaşdırma: Təminatçıların versiyalarını sabitləşdirmək vacibdir, bu, yerləşdirmələrin təkrarlanabilirliyini təmin edir. Müqayisə operatorlarından istifadə olunur (məsələn,
~>,=,>). - İstifadəçi doğrulaması: Təminatçılar məqsəd platformasında istifadəçi məlumatları ilə doğrulama tələb edir. Doğrulama üsulları təminatçıdan asılıdır və API açarları, OAuth tokenləri, IAM rolları (AWS üçün) və s. daxil ola bilər. Doğrulama konfiqurasiyası çox vaxt dəyişənlərdə xaricə çıxarılır və ya mühitdən yüklənir.
- Bir neçə nümunə: Eyni təminatçının müxtəlif konfiqurasiyalarla bir neçə nümunəsini qurmaq mümkündür (məsələn, müxtəlif AWS regionları ilə işləmək üçün).
Nəticə olaraq, təminatçılar Terraform-un əsas komponentləridir və müxtəlif sistemlərdə infrastrukturu idarə etməyə imkan verir, vahid deklarativ sintaksis vasitəsilə.