Harici Verileri ve Şablonları Kullanma
external veri kaynağıyla dinamik değerleri Terraform’a alın ve templatefile işlevini kullanarak yapılandırma dosyaları oluşturun.
Harici Verileri ve Şablonları Kullanma, CoddyKit'te ücretsiz bir DevOps Bootcamp 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Yerleşik Veri Kaynaklarının Ötesi
AWS'yi zaten veri kaynaklarıyla sorguluyorsunuz. Bazen ihtiyacınız olan veriler, bir kabuk betiğinin çıktısı veya dahili bir API gibi herhangi bir sağlayıcının dışında bulunur. external veri kaynağı ve template işlevleri bu boşluğu doldurur.
external Veri Kaynağı
external veri kaynağı bir program çalıştırır ve standart çıktısından JSON okur. Bu, Terraform'un yerel olarak ifade edemediği mantık için bir kaçış yoludur.
data "external" "git_sha" {
program = ["bash", "./scripts/git_sha.sh"]
}Program Sözleşmesi
Harici program, standart girdiden bir JSON nesnesi almalı ve standart çıktıya dize değerlerinden oluşan düz bir JSON nesnesi yazmalıdır. Başka herhangi bir şey hatadır.
#!/bin/bash
echo '{"sha": "abc123"}'Harici Sonuçları Okuma
Döndürülen değerlere result eşlemesi üzerinden erişin. Her değer bir dizedir; başka bir türe ihtiyacınız varsa tür dönüşümü yapın.
resource "aws_instance" "app" {
ami = "ami-0abcd1234"
instance_type = "t3.micro"
tags = {
GitSha = data.external.git_sha.result.sha
}
}external Kullanılmaması Gereken Durumlar
Harici kaynak her planda çalışır ve betik belirlenimci değilse tekrarlanabilirliği bozar. Gerçek bir sağlayıcı veri kaynağı mevcutsa onu tercih edin; external öğesini gerçek boşluklar için ayırın.
templatefile ile Dosya Oluşturma
templatefile işlevi bir şablonu okur, değişkenleri yerine koyar ve bir dize döndürür. Bulut başlatma kullanıcı verileri ve yapılandırma dosyaları için idealdir.
resource "aws_instance" "web" {
ami = "ami-0abcd1234"
instance_type = "t3.micro"
user_data = templatefile("init.tftpl", {
hostname = "web-01"
})
}Şablon Sözdizimi
Bir .tftpl dosyasının içinde değerleri dolar-küme sözdizimiyle yerleştirin. Terraform, iletilen değişkenleri yerine koyar.
#!/bin/bash
hostnamectl set-hostname ${hostname}
echo 'Provisioned by Terraform'Şablonlarda Döngüler
Şablonlar yineleme yönergelerini destekler. Bir for yönergesi tekrarlanan satırlar oluşturur; ana bilgisayar listeleri üretmek için kullanışlıdır.
%{ for ip in ips ~}
server ${ip}:8080
%{ endfor ~}templatestring ile Satır İçi Şablonlar
Kısa parçalar için bir dosyayı atlayıp doğrudan yapılandırmada dinamik dizeler oluşturmak üzere templatestring (veya eski format) işlevini kullanabilirsiniz.
locals {
greeting = templatestring("Hello, $${name}!", { name = "Ops" })
}İkisini Birleştirme
Yaygın bir düzen şöyledir: Bir external kaynağı dinamik bir değer alır, ardından templatefile bu değeri kullanıcı verisi olarak oluşturulan bir yapılandırmaya ekler.
user_data = templatefile("app.tftpl", {
version = data.external.git_sha.result.sha
})Oluşturmaları İdempotent Tutma
user_data değişiklikleri örneğin değiştirilmesini zorunlu kıldığından, şablon girdilerini sabit tutun. Sürekli değişen bir değerin (zaman damgası gibi) verilmesi, her apply işleminde örneklerin yeniden oluşturulmasına neden olur.
Kısa Kontrol
Harici veri kaynağı konusundaki anlayışınızı test edin.
Özet: Dinamik Girdiler ve Şablonlar
Terraform'un veri yeteneklerini genişlettiniz:
externalkaynağı JSON döndüren betikleri çalıştırır.templatefile, yapılandırma ve kullanıcı verisi dosyaları oluşturur.- Şablon yönergeleri döngüleri ve değer yerleştirmeyi destekler.
- İstenmeyen değiştirmeleri önlemek için girdileri sabit tutun.
Yapay zeka eğitmeniyle DevOps Bootcamp öğ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
- 142
- Dersler
- 568
Sıkça Sorulan Sorular
“Harici Verileri ve Şablonları Kullanma” dersi ücretsiz mi?
Evet — “Harici Verileri ve Şablonları Kullanma” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Harici Verileri ve Şablonları Kullanma” dersinde ne öğreneceğim?
external veri kaynağıyla dinamik değerleri Terraform’a alın ve templatefile işlevini kullanarak yapılandırma dosyaları oluşturun. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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.
“Harici Verileri ve Şablonları Kullanma” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- Veri Kaynaklarıyla Veri Sorgulama
- Yerel ve Uzak Çalıştırma Sağlayıcıları
- Null Kaynakları ve Tetikleyiciler
- Harici Verileri ve Şablonları Kullanma