Özel Sağlayıcılar Oluşturma
Sağlayıcıların nasıl çalıştığını anlayıp Terraform Plugin Framework ile özel bir sağlayıcı yazarak Terraform’u mevcut tümleştirmelerin ötesine taşıyın.
Özel Sağlayıcılar Oluşturma, CoddyKit'te ücretsiz bir Terraform Infrastructure as Code dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Terraform Infrastructure as Code öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Terraform Infrastructure as Code kursu toplamda 4 dersten oluşur.
Mevcut Sağlayıcılar Yetersiz Kaldığında
Kayıt defteri platformların çoğunu kapsar, ancak kuruluşlar genellikle sağlayıcısı olmayan dahili API'ler çalıştırır. Özel bir sağlayıcı, Terraform'un bu kaynakları aynı plan/apply yaşam döngüsüyle yönetmesini sağlar.
Sağlayıcılar Nasıl Çalışır
Sağlayıcı, Terraform'un başlattığı ve gRPC üzerinden iletişim kurduğu ayrı bir eklenti ikilisidir. Eklenti, Terraform'un CRUD işlemlerini hedef sistemdeki API çağrılarına dönüştürür.
Eklenti Çerçevesi
HashiCorp'un modern Terraform Plugin Framework'ü (Go), eski SDKv2'nin yerini alarak sağlayıcı oluşturmanın önerilen yoludur. Sağlayıcılar Go ile yazılır.
import (
"github.com/hashicorp/terraform-plugin-framework/provider"
)Sağlayıcıyı Tanımlama
Sağlayıcı türü, adını ve sunduğu kaynaklarla veri kaynaklarını bildirir.
type widgetProvider struct{}
func (p *widgetProvider) Metadata(_ context.Context, _ provider.MetadataRequest, resp *provider.MetadataResponse) {
resp.TypeName = "widget"
}Kaynak Şeması
Her kaynak, türleri ve meta verileri olan özniteliklerden oluşan bir şema bildirir. Kullanıcıların HCL'lerinde ayarladığı şey budur.
resp.Schema = schema.Schema{
Attributes: map[string]schema.Attribute{
"name": schema.StringAttribute{Required: true},
"id": schema.StringAttribute{Computed: true},
},
}CRUD Uygulama
Bir kaynak Create, Read, Update ve Delete işlemlerini uygular. Her yöntem API'nizi çağırır ve sonucu Terraform durumuna geri yazar.
func (r *widgetResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
// call API, then save state
}Read Durumu Gerçeğe Uygun Tutar
Read yöntemi, durumu gerçek API'den yeniler. Uzak kaynak yoksa kaynağı durumdan kaldırırsınız; böylece Terraform onu yeniden oluşturmayı planlar.
Kabul Testleri
Sağlayıcılar, bir test ortamında gerçek plan/apply döngüleri çalıştıran kabul testlerini kullanır. Bu testler, yanlışlıkla çalışmamaları için bir ortam değişkeninin arkasında tutulur.
TF_ACC=1 go test ./... -vYerel Geliştirme Geçersiz Kılması
Bir sağlayıcıyı yayımlamadan önce test etmek için CLI yapılandırmanızda bir geliştirme geçersiz kılması kullanın; böylece Terraform kayıt defterinden indirmek yerine yerel ikilinizi yükler.
provider_installation {
dev_overrides {
"acme/widget" = "/home/dev/go/bin"
}
direct {}
}Sağlayıcıyı Yayımlama
Bir sürümü etiketleyip ikilileri bir GPG anahtarıyla imzalayarak kayıt defterine yayımlayın. Tüketiciler daha sonra sağlayıcıyı required_providers içinde bildirir.
terraform {
required_providers {
widget = {
source = "acme/widget"
version = "~> 1.0"
}
}
}Bakım Konuları
Bir sağlayıcı uzun vadeli bir taahhüttür: API değişiklikleri, sürüm uyumluluğu ve belgelemenin tümü bakım gerektirir. Tek seferlik ihtiyaçlar için external veri kaynağı veya bir betik, tam bir sağlayıcıdan daha basit olabilir.
Kısa Kontrol
Özel sağlayıcı bilginizi sınayın.
Özet: Terraform'u Genişletme
Özel sağlayıcılar oluşturmayı öğrendiniz:
- Sağlayıcılar, çekirdekle gRPC üzerinden iletişim kuran Go eklentileridir.
- Eklenti Çerçevesi, şemaları ve CRUD yöntemlerini tanımlar.
- Geliştirme geçersiz kılmaları yerel testi mümkün kılar; kabul testleri davranışı doğrular.
- Yayımlama, etiketler ve imzalı ikililer gerektirir.
Yapay zeka eğitmeniyle Terraform Infrastructure as Code öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 12
- Dersler
- 48
Sıkça Sorulan Sorular
“Özel Sağlayıcılar Oluşturma” dersi ücretsiz mi?
Evet — “Özel Sağlayıcılar Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Terraform Infrastructure as Code kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Terraform Infrastructure as Code kursu toplamda 4 dersten oluşur.
“Özel Sağlayıcılar Oluşturma” dersinde ne öğreneceğim?
Sağlayıcıların nasıl çalıştığını anlayıp Terraform Plugin Framework ile özel bir sağlayıcı yazarak Terraform’u mevcut tümleştirmelerin ötesine taşıyın. Terraform Infrastructure as Code ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Terraform Infrastructure as Code öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Terraform Infrastructure as Code, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Özel Sağlayıcılar Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Terraform Infrastructure as Code dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Terraform Infrastructure as Code dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Çoklu Bulut ve Hibrit Bulut Örüntüleri
- Yönetişim için Sentinel Politikaları
- Terraform Cloud ve Enterprise
- Özel Sağlayıcılar Oluşturma