Yeniden Kullanılabilir Modüller Oluşturma
Modüler ve esnek yapılandırmalar oluşturmak üzere girdileri, çıktıları ve kaynakları tanımlayarak kendi Terraform modüllerinizi yazmayı öğrenin.
Yeniden Kullanılabilir Modüller Oluşturma, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. 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.
Kendi Terraform Modüllerinizi Oluşturun
Önceki derste mevcut Terraform modüllerini kullanmayı öğrendik. Şimdi kendi yeniden kullanılabilir modüllerinizi oluşturmaya başlayalım!
Modül yazmak, yaygın altyapı kalıplarını kapsüllemenize yardımcı olur; böylece yapılandırmalarınız daha temiz, tutarlı ve bakımı daha kolay hâle gelir.
Modül Dosyalarınızı Düzenleme
Terraform modülü, esasen özel bir dizinde depolanan .tf dosyaları koleksiyonudur.
En temel hâliyle bir modül dizini şunları içerir:
variables.tf: Modülün giriş değişkenlerini tanımlar.main.tf: Gerçek kaynak bildirimlerini içerir.outputs.tf: Modülün çıkış değerlerini tanımlar.
Ayrıca sağlayıcı gereksinimleri için versions.tf ve belgelendirme için README.md ekleyebilirsiniz.
Modül Girdileri: Değişkenler
Modülünüzü esnek hâle getirmek için giriş değişkenleri tanımlarsınız. Bunlar, modülünüzün kullanıcılarının temel kodu değiştirmeden davranışını özelleştirmesine olanak tanır.
Değişkenler, bir variable bloğu kullanılarak; bir description, type ve isteğe bağlı olarak bir default değeri belirtilerek tanımlanır.
Örnek: Modül Değişkeni Tanımlama
Modülünüzün variables.tf dosyasında bir örnek türü için değişkeni şu şekilde tanımlayabilirsiniz:
# variables.tf
variable "instance_type" {
description = "The EC2 instance type to use."
type = string
default = "t2.micro"
}Modül Kaynakları: Temel Mantık
Modülünüzün merkezinde kaynak bildirimleri yer alır. Bunlar, modülün sağlayacağı gerçek bulut kaynaklarıdır.
AWS EC2 örneği veya S3 paketi gibi bu kaynak bloklarını modülünüzün main.tf dosyasına yerleştirirsiniz.
En önemlisi, modül içindeki kaynaklar çoğu zaman tanımladığınız giriş değişkenlerini kullanır.
Girdileri Kullanarak Kaynak Bildirme
instance_type değişkenimizi kullanarak main.tf içinde bir EC2 örneği bildirelim:
# main.tf
resource "aws_instance" "web_server" {
ami = "ami-0abcdef1234567890" # Example AMI ID
instance_type = var.instance_type
tags = {
Name = "MyWebServer"
}
}Modül Çıktıları: Bilgi Paylaşma
Modüller nasıl girdi alıyorsa çıkış değerleri de sağlayabilir. Bunlar, modül tarafından oluşturulan kaynaklar hakkındaki bilgileri dışa aktarmak için kullanışlıdır.
Örneğin bir EC2 örneğinin genel IP adresini veya bir S3 paketinin ARN'sini çıktı olarak vermek isteyebilirsiniz.
Çıktılar, outputs.tf içinde bir output bloğu kullanılarak tanımlanır.
Modül Çıktı Değerini Tanımlama
outputs.tf içinde EC2 bulut sunucumuzun genel IP adresi için çıktıyı şu şekilde tanımlayabilirsiniz:
# outputs.tf
output "instance_public_ip" {
description = "The public IP address of the EC2 instance."
value = aws_instance.web_server.public_ip
}Yeni Modülünüzü Çağırma
Modülünüz tanımlandıktan sonra, onu diğer tüm modüller gibi bir kök yapılandırmada (veya başka bir modülde) kullanabilirsiniz.
source değerini (modül dizininizin yolu) belirtmeniz ve giriş değişkenlerine değerler aktarmanız gerekir.
# root_config/main.tf
module "my_web_server_module" {
source = "../my-ec2-module" # Path to your module
instance_type = "t3.small" # Override default
}
output "web_server_ip" {
value = module.my_web_server_module.instance_public_ip
}Modül Bileşenlerini Kontrol Etme
Terraform modülündeki temel dosyaları öğrendiniz. Modüle aktarılan değerleri tanımlamak için öncelikle hangi dosya kullanılır?
Özet: Yeniden Kullanılabilir Modüller Oluşturma
Harika iş çıkardınız! Artık kendi Terraform modüllerinizi nasıl yazacağınızı biliyorsunuz.
- Modüller,
.tfdosyalarını içeren dizinlerdir. - Girdiler için
variables.tfdosyasını kullanın. - Kaynak tanımlarını
main.tfdosyasına yerleştirin. - Verileri dışa sunmak için çıktıları
outputs.tfdosyasında tanımlayın.
Bu beceri, ölçeklenebilir, bakımı kolay ve tutarlı kod olarak altyapılar oluşturmak için kritik öneme sahiptir.
Sıkça Sorulan Sorular
“Yeniden Kullanılabilir Modüller Oluşturma” dersi ücretsiz mi?
Evet — “Yeniden Kullanılabilir Modüller 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Yeniden Kullanılabilir Modüller Oluşturma” dersinde ne öğreneceğim?
Modüler ve esnek yapılandırmalar oluşturmak üzere girdileri, çıktıları ve kaynakları tanımlayarak kendi Terraform modüllerinizi yazmayı öğrenin. 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 2. dersidir.
“Yeniden Kullanılabilir Modüller 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 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
- Terraform Modüllerine Giriş
- Yeniden Kullanılabilir Modüller Oluşturma
- Ortamlar için Çalışma Alanlarını Kullanma
- Modülleri Kayıt Defterinde Yayımlama