İlginizi Çekebilir
  1. Ana Sayfa
  2. Container
  3. Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 4 (Azure Dev Spaces)
reaksiyion-alkis

Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 4 (Azure Dev Spaces)

Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 4 (Azure Dev Spaces)

Uzun bir aradan sonra ’e (AKS) 4. Bölüm ile devam ediyoruz. Bu bölümde de container’ları direkt olarak üzerinde çalıştırma ve debug etmemizi, özellikle de yazılım geliştirme ekibinizin ortak bir cluster üzerinde birlikte çalışabilmesine imkân sağlayan Dev Spaces’e yakından bakalım.

Azure Dev Spaces ile Windows/Mac /Linux üzerinde, Visual Studio ya da Visual Studio Code kullanarak geliştirme yapabilirsiniz. Yukarıda da bahsettiğim gibi bize sağladığı en güzel özelliklerden birisi de ortak bir Kubernetes cluster üzerinde çalışma imkânı sağlaması, bunu yaparken de uygulamanın bağımlılıkları için herhangi bir şekilde bir mock yazmak zorunda olmamamız.

Azure Dev Spaces şu anda sadece East US, East US 2, Central US,
West US 2, North Europe, West Europe, UK South, Southeast Asia, Australia East, Canada Central ve Canada East bölgelerindeki veri merkezlerinde destekleniyor. kullanacaksanız Linux, MacOS, ve Windows (8 veya üzeri) üzerinde Azure Dev Spaces eklentisi ile, kullanacaksanız da Windows (8 veya üzeri) üzerinde web development workload kurulu ve Visual Studio Tools for Kubernetes eklentisini kurarak bu servisten faydalanabilirsiniz.

Örnek olarak Windows 10 üzerinde 2017 kullanarak Azure Dev Spaces üzerinde çalışan bir web uygulaması çalıştıralım. Öncelikle ilgili eklentiyi kurmak için Tools menüsünden Extensions and Updates seçeneğine gelerek Online kısmında “kubernetes” kelimesini aratıp ilk sırada çıkacak olan Visual Studio Tools for Kubernetes eklentisini kuralım (Resim-1).

Resim-1

Azure üzerinden eğer daha önceden oluşturduğunuz bir Azure Kubernetes Service yoksa, Azure Portal üzerinden Resim-2‘de göreceğiniz gibi bir Kubernetes cluster oluşturabilirsiniz. Bu konuda daha fazla bilgi için Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 1 ‘e göz atabilirsiniz. Burada farklı olarak node size’ı Standard_A2_v2 olarak seçtim. İlk bölümü yazdığım zamandan bugüne minimum node size değeri Standard_A1_v2 yerine Standard_A2_v2 olarak güncellenmiş görünüyor.

Resim-2

Cluster oluşturma işlemi biraz zaman alacağı için bu sırada projeyi oluşturmak isteyebilirsiniz. Bunun için de New Project -> Visual C# -> Cloud altında Container Application for Kubernetes proje tipini seçerek projemizi oluşturalım (Resim-3).


Resim-3

Projemiz bir ASP.NET Core Web application olacak, burada da MVC template’i seçerek devam edelim (Resim-4).


Resim-4

Proje oluştuktan sonra debug kısmında Azure Dev Spaces seçeneğinin geldiğini görebilirsiniz (Resim-5). Proje altında da Dockerfile ile birlikte azds.yaml adında bir dosya dikkatinizi çekecektir. Bu dosya içerisinde container imajı ile ilgili konfigurasyonlar, replica sayısı ve diğer konfigurasyon dosyaları ile ilgili bilgileri görebilirsiniz. Charts altında da uygulamanın Kubernetes’e deploy edilirken Helm chart’ı oluşturmak için kullanacağı dosyalarını görebilirsiniz.


Resim-5

Daha fazla beklemeden F5’e basalım. Karşımıza Azure Dev Spaces için hangi AKS cluster’I seçmemizi isteyen bir pop-up çıkacak. Daha önce bir AKS cluster oluşturduğumuz için mshowtok8s isimli cluster’ı seçerek ilerliyoruz (Resim-6).


Resim-6

Space olarak da default yerine “mertyeter” adında yeni bir tane oluşturalım (Resim-7).


Resim-7

AKS cluster oluşturduğumuzda portal üzerinden Azure Dev Spaces varsayılan olarak kapalı geliyor, Settings/Dev Spaces altından aktifleştirebilirsiniz (Resim-8).


Resim-8

Eğer portal üzerinden aktif hale getirmediyseniz bu aşamada bunu aktifleştirmenizi isteyen bir uyarı mesajı çıkıyor (Resim-9). OK diyerek buradan aktif hale getirebiliyoruz.

Resim-9

OK’e tıkladıktan sonra Resim-10‘da göreceğiniz mesaj Azure Dev Spaces’ın oluşturulmakta olduğu mesajını göreceksiniz.

Resim-10

Mesajda da dediğin gibi Visual Studio’da sol altta yer alan Background Tasks‘a tıklayarak kaynağın oluşturma süreci ne aşamada takip edebiliyoruz (Resim-11).

Resim-11

Bu işlemler tamamlandıktan sonra sistemdeki varsayılan tarayıcı üzerinden web uygulamamız açılacak (Resim-12‘de gördüğünüz Chromium tabanlı Microsoft Edge‘in Dev versiyonu).


Resim-12

Tarayıcı üzerinden web uygulamasını gördük ama AKS tarafında bir şeyler oldu mu yoksa sadece local’den web uygulaması mı açıldı diye merak ediyorsanız, üzerinden Kubernetes üzerinde neler olmuş kontrol edebiliriz. Eğer bilgisayarınızda yüklü değilse buradan yükleyebilirsiniz. AKS üzerinde Azure CLI kullanımı ile ilgili daha detaylı bilgi için Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 2 ‘ye göz atabilirsiniz. az login ve az aks get-credentials işlemlerinden sonra Resim-13‘te göreceğiniz get service ve kubectl get pods komutları ile oluşturduğumuz dev space’e ait servisleri ve pod’ları görebilirsiniz.


Resim-13

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/aks

https://docs.microsoft.com/en-gb/azure/dev-spaces/

TAGs: Azure, Azure Portal, , Azure Kubernetes Service, AKS, , Kubernetes, , Azure Dev Spaces, Azure CLI, Kubectl, Visual Studio, Visual Studio 2017, Visual Studio Code


Yorum Yap

Yazar Hakkında

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi Gemi İnşaatı Mühendisliği bölümünde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi Bilgi Teknolojileri bölümü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. Şu anda da Done'de Cloud Development Manager olarak Azure, .NET Core, SQL Server, Docker vb güncel teknolojiler üzerinde çalışmaktadır.

Yorum Yap