Bu kılavuzumuzda sizlere Terraform’un Debian 12 sistemine nasıl kurulacağını adım adım göstereceğiz.
Terraform, genel ve özel bulutta altyapının dağıtımını ve yönetimini otomatikleştirmeye yönelik açık kaynaklı, güçlü bir araçtır. Aynı zamanda kod olarak altyapı (IaC) aracı olarak da bilinir. Debian 12 çalıştırıyorsanız ve Terraform’un yeteneklerinden yararlanmak istiyorsanız doğru yerdesiniz.
Önkoşullar
- Debian 12 kurulu sistem
- Yönetici haklarına sahip Sudo Kullanıcısı
- İnternet bağlantısı
Terraform’un Debian 12’ye Kurulumu
Terraform Debian paketi, Debian 12’nin varsayılan paket depolarında mevcut değildir. Bu nedenle kurulumu için resmi hashicorp apt deposunu ekleyeceğiz.
1) Hashicorp APT Deposunu Ekleyin
Open the terminal and run following wget and echo command to download gpg key and add apt repository respectively.
$ wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg –dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
$ echo “deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/hashicorp.list
2) Apt Komutu ile Terraform’u Debian 12’ye yükleyin
Terraform apt deposunu ekledikten sonra kuruluma hazırız. Aşağıdaki apt komutlarını çalıştırın.
$ sudo apt update
$ sudo apt install terraform -y
Bu komut, gerekli tüm bağımlılıklarla birlikte terraform’un en son sürümünü yükleyecektir.
Terraform kurulumunu gerçekleştirin, sürümünü kontrol edin, aşağıdaki terraform komutunu çalıştırın.
$ terraform version
Terraform v1.6.4
on linux_amd64
$
3) Terraform Kurulumunu Doğrulayın
Terraform kurulumunuzu doğrulamak için bu proje kapsamında demo terraform projesi ve ana konfigürasyon dosyalarını oluşturacağız. Doğrulamaya geçmeden önce terraform proje dosyalarını anlayalım.
- Main Configuration File (main.tf): Bu dosyada altyapımız için kaynak ve ayarları tanımlıyoruz.
- Variable Declaration Files (variables.tf) : Bu dosyada giriş değişkenlerini bildirebilir ve bunların varsayılan değerlerini ayarlayabilirsiniz. Giriş değişkenleri Terraform yapılandırmanızı parametreleştirmenize olanak tanıyarak onu daha esnek hale getirir.
- Output Declaration Files (outputs.tf): Bu dosya, diğer Terraform yapılandırmaları veya komut dosyaları için yararlı olabilecek çıktı değerlerini bildirmek için kullanılır.
- Terraform Provider Configuration Files (providers.tf): Birden çok sağlayıcının olduğu daha büyük projelerde veya ortamlarda, sağlayıcılarınızı yapılandırmak için ayrı bir dosya kullanabilirsiniz.
- Terraform State Configuration Files (backend.tf): Bu dosya terraform’un durumunu sakladığı arka ucu yapılandırmak için kullanılır. Durum dosyaları altyapınızın mevcut durumunu takip eder. Yaygın arka uçlar arasında Amazon S3, Azure Storage veya HashiCorp Terraform Cloud bulunur.
mkdir komutunu kullanarak “terraform_demo” adında bir demo projesi oluşturun.
$ mkdir terraform_demo
$ cd terraform_demo/
Daha sonra aşağıdaki içeriğe sahip main.tf dosyasını oluşturun.
$ vi main.tf
resource “local_file” “linux-distros” {
filename = “/tmp/distros.txt”
content = “There are multiple Linux distros like Ubuntu. Debian, RHEL, Rocky Linux & Kali Linux etc”
}
Dosyayı kaydedip çıkın.
Main.tf dosyanızın bulunduğu dizinde Terraform projesini başlatın, aşağıdaki komutu çalıştırın.
$ terraform init
Bu komut çalışma dizinini başlatır ve sağlayıcı eklentisini (bu durumda local_file sağlayıcı) indirir.
Daha sonra tam olarak hangi kaynakların yaratılacağını görmek için ‘terraform planı’ komutunu çalıştırın. Daha çok test amaçlı bir çalışmadır.
Plandan memnunsanız devam edin ve kaynak oluşturmak için yapılandırmayı uygulayın. Aşağıda gösterildiği gibi “terraform application” komutunu yürütün:
$ terraform apply
Bu, işlemi onaylamanızı isteyecek, “evet” yazıp enter tuşuna basacaksınız.
Terraform’un beklendiği gibi çalıştığını doğruladıktan sonra temizlemek için kaynakları yok edebilirsiniz:
$ terraform destroy
Terraform sizden yine kaynakların yok edilmesini onaylamanızı isteyecek. Evet yazın ve Enter’a basın.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.