Yazılım Geliştiriciler için Azure: Pulumi ile Azure Üzerinde Infrastructure as Code – Bölüm 2
  1. Anasayfa
  2. DevOps

Yazılım Geliştiriciler için Azure: Pulumi ile Azure Üzerinde Infrastructure as Code – Bölüm 2

0

İlk bölümde Pulumi ile Azure üzerinde Container Registry oluşturmuştuk. Bu bölümde ise yeni bir kaynak oluşturmak yerine mevcut Container Registry üzerine yeni bir Docker container ekleyeceğiz. Container imajı oluşturma işlemini de PowerShell ya da komut satırı ile değil, Pulumi ile yapacağız.

Öncelikle Azure CLI üzerinden üzerinde çalışacağımız kaynağa ait Id bilgisine ihtiyacımız var. Bunun için az resource list komutu ile mevcut kaynakları listeleyip kullanacağımız kaynağa ait id değerini görebiliriz (Resim-1).

Resim-1

Kaynak koda bakacak olursak (Resim-2), yeni bir Registry objesi oluşturup RegistryArgs değerlerini mevcut kaynakta olduğu gibi belirtmemiz gerekiyor. Eğer bu değerleri boş geçerseniz pulumi up komutunu çalıştırdığınızda hangi değerlerin eksik olduğunu belirten bir uyarı mesajı verecek. Burada mevcut kaynağı kullanmak istememizi belirtmek için ise CustomResourceOptions objesi içerisinde yer alan ImportId değerin olarak, “az resource list” ile aldığımız değeri giriyorum (Resim-1).


Resim-2

Mevcut Container Registry’i kaynağını aldıktan sonra ise girişte de bahsettiğim gibi yeni bir container imajı oluşturacak kodu ekliyoruz. Burada Pulumi.Docker (1.1.0-preview) nuget paketini kurmak gerekiyor. Bu paket altında yer alan Image objesine Resim-2‘de göreceğiniz gibi ImageArgs değerlerini yazdıktan sonra, container imajını oluşturmak için gerekli Dockerfile dosyasının olduğu yeri (Build) belirtiyoruz.

Burada daha önceden oluşturulmuş bir proje kullanmak yerine; örnek bir proje oluşturma işlemi de Dockerfile içerisinde tanımlıyoruz. Güncel bir Ubuntu imajı kullanarak, .NET Core için gerekli paketleri kurduktan sonra .NET Core SDK (3.1) kurulumu ve son olarak da dotnet new mvc komutunu çalıştırarak örnek MVC uygulamamızı oluşturabiliriz (Resim-3).

Resim-3

Kod tarafında gerekli bütün hazırlıkları tamamladıktan sonra geriye sadece pulumi up komutunu çalıştırmak kalıyor. Resim-4′te göreceğiniz gibi stack adı girdikten sonra yapacağı işlemleri görebiliyoruz. Azure Container Registry için “create” yerine “import” işlemi yapacağını görerek de mevcut kaynağı kullandığını teyit edebiliriz.


Resim-4

Sonrasında Azure Portal üzerinden Container Registry/Repositories üzerinde yeni oluşturduğumuz container imajını görebiliriz (Resim-5).


Resim-5

Pulumi üzerinde de benzer şekilde yaptığımız işlemin detaylarını görebiliyoruz (Resim-6).


Resim-6

Eğer kaynaklarınızı bağımlılıkları ile grafik şekilde görmek isterseniz de Resources’ı açabilirsiniz (Resim-7).


Resim-7

Projede yer alan kodlara buradan ulaşabilirsiniz.

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

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-gb/azure/container-registry/

https://www.pulumi.com/

https://github.com/mshowto/Pulumi/tree/master/pulumi-acr

TAGs: Azure, Azure Portal, Yazılım Geliştiriciler için Azure, Azure Container Registry, ACR, PowerShell, Azure CLI, Containers, .NET, .NET Core, Pulumi, Infrastructure as Code, Docker, Dockerfile, .NET Core, Ubuntu

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

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

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