İlginizi Çekebilir
  1. Ana Sayfa
  2. DevOps
  3. Terraform – Part 3 – Değişkenler

Terraform – Part 3 – Değişkenler

Terraform – Part 3 – Değişkenler

Bu bölümde sizlere terraform kullanırken konfigürasyon dosyalarında değişkenleri nasıl kullanabileceğinizden bahsedecem. Değişken türleri ile alakalı ilerleyen bölümlerde daha ayrıntılı yazılar yazmayı düşünüyorum.

Değişkenler default vaule’lara sahip olabilirler. Ancak eğer .tfvars file ile atanan değişkenler var ise, bunlar default value’ların üzerine yazarlar.

Tabi bir de komut ile değişkenlere değer atanabilir. Bu durumda şöyle bir mekanizma çalışır. En son atanan değer hepsinin üzerine yazar. Yani default value varsa ve .tfvars dosyasından değişken atanıyorsa, .tfvars dosyasındaki değer default değerin üzerine yazar. Ancak bunların üzerine birde komut ile değişken atanıyorsa, geçerli olan değer komut ile atanandır. Değişken kullanımındaki baskınlık seviyeleri özetle bu şekildedir.

Değişkenlere atanacak değerleri ortamlara göre atamakta mümkün. Örneğin bir resource production ortamında yüksek bir tier’da oluşturulurken, test ortamında daha düşük tier’larda oluşturulabilir.

Ayrıca boolen değere göre koşula bağlı olarak da resource’lar oluşturulabilir. Örneğin değişken herhangi bir değere sahipse değişkene true değeri değilse false değeri atanabilir. Sonrasında bu değere göre resource’lar deploy edilir yada edilmez. Yada deploy edilecek ortamda belli koşullar aranabilir. Bu koşullara bağlı olarak resource’lar deploy edilir yada edilmez.

Değişkenlerin tanımlanması belli durumlara göre farklılık gösterebilir.

Default değişken tanımlama: Değişkenler tanımlanırken default değer atanır.

Resim-1

Değişken dosyası kullanma: .tfvars uzantılı dosyaya değişkenler aşağıdaki gibi atanır.

Resim-2

Komut ile değişken atama: Değişken işlemlerin en sonunda komut ile atanır.

Resim-3

Değişkenlerde map kullanma: Map değişkenleri powershell’deki hash table’lara oldukça benzer. Değişken içerisinde key-value pair’leri tutarak belli koşullara göre değişkendeki değer elde edilir.

Örneğin aşağıdaki örnekte region’lar ve bu region’larda kullanılacak imaj id’leri belirlenmiştir. Konfigürasyon yazılırken seçilecek ortama göre bu değişkene sorgu yapılıp ilgili imaj bilgisi elde edilecektir.

Resim-4

Bunların yanında diğer programlama dillerinde olduğu gibi string,list,bool değerlerde terraform’da değişken tipi olarak atanabilir. Bunlarla ilgili ayrıntılı bilgi için aşağıdaki linkten faydalanabilirsiniz.

https://www.terraform.io/docs/configuration/variables.html

Ortam değişkeni olarak değer atama: Terraform’da TV_VAR prefixi kullanılarak değişkenler ortam değişkeni olarak atanabilir. Ortam değişkeni olarak atama yapmak için komut aşağıdaki şekilde olmalıdır.

Resim-5

Yukarıdaki şekilde atanan ortam değişkenini değişkene atamak için aşağıdaki şekilde değişken yazılmalıdır.

Resim-6

Aynı şekilde map’ler ve listelerde kolaylıkla ortam değişkeni olarak atanabilirler.

Ayrıntılı bilgi için yine aşağıdaki linkten faydalanabilirsiniz.

https://www.terraform.io/docs/configuration/variables.html

Değişkenleri özetlemiş olduk.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://www.terraform.io/docs/configuration/variables.html

https://www.terraform.io/docs/providers/azurerm/index.html

TAGs: Terraform, , , , IAC, Compliance management, , , , , terraform overview, , Azure with terraform, , terraform.exe, , , ARM, Terraform variabes, terraform map variables

Yorum Yap

Yazar Hakkında

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yorum Yap