1. Ana Sayfa
  2. DevOps
  3. YAML kullanarak Azure Resource Manager Template Deployment Nasıl Yapılır? – Bölüm 2

YAML kullanarak Azure Resource Manager Template Deployment Nasıl Yapılır? – Bölüm 2

03

Yazımızın ilk serisinde Azure Resource Manager Template dağıtım modelini ( Template ) kullanırken yaşadığımız zorlukları ve JSON formatının göz yoran zorluklarından bahsetmiştim. Şimdi ise, YAML formatını kullanarak geliştireceğimiz Azure Resource Manager Template arasında farklılıklara bakıp daha sonra geliştirdiğimiz YAML template dosyasını tekrar nasıl JSON formatına kolay bir şekilde nasıl dönüştüreceğimizden bahsedeceğim.

Öncelikle YAML-CLI aracını üzerinden indirelim ve ne tür parametreler göndererek kullanıldığına bakalım. Bunun için aşağıdaki Powershell Script çalıştırabilirsiniz, Script belirli parametreler almaktadır.

Resim-1

Yukarıdaki script sayesinde gönderdiğimiz parametreler ile YAML-CLI son sürümünü ilgili klasör içerisinde indirdik. Şimdi ise, nasıl kullanıldığına aldığı parametrelere bakalım.

Resim-2

Görüldüğü üzere, YARM-CLI “-input ve -output” adında iki tane parametre alarak gönderdiğiniz YAML veya JSON dosyalarını kendi içerisinde dönüştürmesini sağlayarak Azure Resource Manager Template modeline göre yapmaktadır. Bunun için geliştirdiğiniz YAML formatında Azure Resource Manager Template’ni “-i veya — input” parametresi ile göndermeniz ve bu YARM-CLI size vereceği JSON dosyasınıda “-o veya –output” olarak belirli bir path gösterek kaydetmesini sağlamanız. Eğer dilerseniz JSON Formatında bir dosyayı input ederek aynı şekilde YAML formatında bir çıktı elde edip aradaki farklılıkları anlayabilirsiniz. Bu işlemi yapmadan önce aşağıdaki JSON ve ARM ile geliştirilen Resource’ların görünüş şekillerine bakalım.

Resim-3

Yukarıdaki resim içerisinde görüldüğü gibi iki farklı formatıda yan yana koydum. Çok basit bir şekilde Resource Template içersinde DNS Zone oluşturmak için gerekli değerler bulunuyor. Bu formatlardan, YAML olan biraz daha okunabilir ve anlaşılabilir olarak gözükmektedir. Şimdi hemen hızlıca bu YAML dosyasının detaylarına inelim, derine baktığımızda aradaki süslü parantezlerin gittiğini ve YAML bize daha kolay bir okunabilir kullanım sağladığını görmekteyiz. Peki, bu YAML dosyasını nasıl elde edebiliriz hemen ona değinelim.

Bunun için YARM-CLI kullanıp “input” parametresine, elimdeki mevcut JSON dosyasını göstermem yeterli olacaktır. Aşağıdaki örnekte beraber bakalım.

Resim-4

YARM-CLI ile çok kolay bir şekilde, JSON template dosyamızı YAML uzantıya dönüştürdük. Artık YAML üzerinden geliştirmeye devam edebilir veya genel hatlarıyla nasıl yazıldığına aşina olabiliriz. Şimdi ise tam tersini yapalımş aşağıda görmekte olduğunuz kompleks bir Resource Template var. Bu Template YAML formatında yazılmış olsun ve biz bunu JSON dönüştürelim. Neden bu işlemi yapmak zorunda olduğumuzu merak ediyor olabilirsiniz, Azure Resource Manager API üzerinden herhangi bir kaynak deploy ettiğiniz zaman bunu JSON template ile göndermeniz lazım. Bunun için Azure Portal üzerinden gösterimini yaptık, aynı şekilde Portal üzerinden, Powershell veya başka hizmetleri kullanarak Deploy başlattığınız zaman bu Resource Template kesinlikle JSON formatında olmalıdır. Bu tarafta dilerseniz YAML ile yazıp JSON dönüştürüp bunu otomatik hale getirebilirsiniz, Fikir vermesi açısından Bkz : .

Resim-5

Yukarıdaki kısa görüntüde görüldüğü üzere, çok kolay bir şekilde dönüştürme işlemini gerçekleştirdik. Bende YAML tarafında çok fazla vakit geçirdiğim için özellikle yazarken, Azure Resource Manager Template geçiş yaptığımda canımı sıkan bir konuydu. Son olarak, dilerseniz Code üzerinde buluna “” extension kullanarak da bu işlemleri yapabilirsiniz.

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

Referanslar

www.mshowto.org

TAGs:Infrastructure as code, azure resource manager, , , nedir, JSON, , , visual studio, Visual Studio Code, YAML CLI, , nedir,github,YARMtoJSON,Docker Compose file,Azure DevOps Stage

Yorum Yap

Yazar Hakkında

Hasan Güral, Profesyonel olarak 5 senedir bilişim sektöründe çalışmaktadır. Üniversite eğitimiyle birlikte sektörde sistem uzmanı pozisyonunda görev yaptı. Halen Bilge Adam Bilgi Teknolojileri Akademisi'nde Danışman olarak çalışmaktadır. Microsoft ürün ailesi ve network altyapıları ile ilgilenmektedir.

Yorum Yap