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

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

pulumi

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

Öncelikle ü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 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 imajı kullanarak, için gerekli paketleri kurduktan sonra 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ı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda 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, , Azure Container Registry, , PowerShell, Azure CLI, , .NET, .NET Core, Pulumi, Infrastructure as Code, Docker, Dockerfile, .NET Core, Ubuntu

Yorum Yap

Yazar Hakkında

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.

Yorum Yap