Terraform – Part 2 – Update Azure Resources
0

Bir önceki makalemde Terraform ile Azure platformu üzerinde resource oluşturmuştum. Bu makalemde ise oluşturduğum bu resource’lar üzerinde güncelleme işlemlerinin nasıl yapılacağından bahsedeceğim.

Terraform mimarisinde konfigürasyon dosyasının bulunduğu dizinde .tfstate uzantılı bir dosya bulunur. Bu dosya deploy edilen konfigürasyonlara ilişkin bilgiyi JSON formatında tutar. Bunu tutmasının sebebi bir sonra yapılacak konfigürasyon deployment’larında karşılaştırma yapmak içindir. Bu karşılaştırma sonrasında yapılan işlemin yeni bir resource oluşturmak mı, yoksa var olan bir resource’u update etmekmi olduğuna bu .tfstate uzantılı dosyaya bakılarak karar verilir.

Eğer deploy edilen resource’lar hedef platform üzerinde değişikliğe uğradıysa, .tfstate dosyası ve hedef konfigürasyon arasında farklılık var demektir. Bu durumda da terraform’un refresh komutu kullanılarak platform üzerinde yapılan değişiklik terraform state dosyasına sync edilir.

Şimdi bir örnek ile ilerleyelim. Bir önceki makalemin devamı şeklinde ilerleyeceğim. Bir önceki makalemde Terraform ile Azure platformu üzerinde bir adet resource group ve bir adet virtual network oluşturmuştum. Şimdi bu virtual network üzerinde bir adet subnet oluşturalım. Ayrıca virtual network’ü de belli etiketler ile tag’leyelim.

Aşağıdaki resimde görüldüğü üzere, Subnet yeni bir resource olarak eklenirken, tag’leme işlemi var olan virtual network resource’u üzerinde bir update işlemi olarak Terraform tarafından algınalacaktır.

Resim-1

Update işlemi öncesinde konfigürasyon üzerinde yapılan değişiklikleri kontrol etmek için execution plan’ı çalıştıralım. Bu işlemin sonucunda çıktı aşağıdaki gibi olacaktır.

Resimde de görüldüğü gibi, yeni oluşturulan resource’lar yeşil ile, update edilen resource’lar da sarı ile işaretlenmişdir. Gerekli kontroller yapıldıktan sonra deployment işlemine başlayabiliriz.

Resim-2

Deployment işlemi için “Apply” komutunu kullanarak konfigürasyonu Azure platformu üzerinde deploy edelim.

Resim-3

Deployment işlemi tamamlandığında şekilde işaretlediğim gibi yeni eklenen ve update edilen resource sayısınu komut çıktısında görebilirsiniz. Ayrıca yapılan konfigürasyon islemleride bu kısımda ayrıntılı olarak görünecektir.

Deployment işleminin ardından resource’lar kontrol edildiğinde eklediğimiz tagların update işlemi ile atandığını ve yeni eklenen subnetin virtual network üzerine eklendiğini görebilirsiniz.

Resim-4

Resim-5

Yaptığımız bu işlem basit bir konfigürasyon ekleme ve update etme işlemiydi. Daha komplex konfigürasyonlarda bu işlemler biraz daha kalabalık konfigürasyonlar içerebilir. Bu daha daha özenli kontrol mekanizmalarını gerektirir.

Bir sonraki bölümde değişkenler ile devam edeceğim.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://www.terraform.io/

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

TAGs: Terraform, Terraform nedir, terraform nasıl kullanılır, Infrastructure as a code, IAC, Compliance management, Auto remediation, Deploy Azure Resource with terraform, Deploy configuration with terraform, configuration as a code, terraform overview, terraform basics, Azure with terraform, deploy resources to azure with terraform, terraform.exe, Update resources with terraform, Azure Resource manager, ARM

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

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.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir