Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 1
  1. Anasayfa
  2. Container

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

0

Azure VM Üzerine Kubernetes (MicroK8s) Kurulumu yazısında bahsettiğim Azure üzerindeki yönetilebilen Kubernetes servisi yani Azure Kubernetes Service (AKS), sistemin sağlık takibi ve bakımı gibi kritik görevler ile master node yönetiminin Azure tarafından yapıldığı bir hizmet olarak tanımlanabilir. Size kalan kısım ise agent node’ların yönetimini ve bakımını sağlamak.

NOT: Eğer Kubernetes ile ilgili bir bilgim yok ya da sadece duydum diyorsanız; okumaya başlamadan önce Onur Yüksektepeli’nin Kubernetes Nedir? yazısını okumanızı tavsiye ediyorum.

Hemen konuya girelim ve AKS nedir bize ne gibi özellikler sunuyor Azure Portal üzerinden inceleyelim. Azure Portal’ı açtıktan sonra Resim-1‘de göreceğiniz gibi Kubernetes Services dikkatinizi çekecektir.

Resim-1

Kubernetes service’i seçtikten sonra standart servis tanımlama ekranı karşımıza çıkıyor. Buradan da Create Kubernetes service butonuna tıklıyoruz (Resim-2).

Resim-2

Şimdi ise servisimizle ilgili detaylı olarak tanımlamaları yapacağımız ekrandayız. İlk adımda Basics yani cluster adı, bölge, resource group gibi temel Azure servis bilgilerini giriyoruz (Resim-3). Basit bir örnek yapacağımız için Node size’ı Standard A1 v2 yani 1 vcpu ve 2 GB RAM olarak seçmemiz yeterli olacaktır. 2 Node da bu örnek için yeterli. Henüz preview olan Virtual Nodes özelliği ise; Kubernetes cluster autoscaler’ın ekstra podları çalıştırması için yeni VM compute node’ları deploy etmesini beklemeden hızlı deployment’lar yapmanıza imkân sağlıyor. Bunun için de arka planda serverless Azure Container Instance servisini kullanıyor. Bu örnekte kullanmayacağımız için aktifleştirmiyoruz.

Resim-3

2. adım Authentication ise bize Kubernetes cluster’a erişim için gerekli service principal tanımı yapıyoruz. Ayrıca rol bazlı erişim kontrolü (Role Based Access Control-RBAC) de kullanabilirsiniz (Resim-4).

Resim-4

3. adımda ise Networking ayarlarını yapacağız (Resim-5). HTTP application endpoint, uygulama endpoint’leri için public olarak erişilebilecek DNS isimleri oluşturarak cluster içerisindeki uygulamalarınıza daha kolay erişmenizi sağlıyor. Ingress controller’lar ile hızlı başlangıç yapmak için tasarlanmış ancak production için önerilen bir özellik olmadığını da belirtmekte fayda var.

Resim-5

4. adımda Monitoring ile ilgili olarak container’ları izlemek isteyip istemediğimizi ve Log Analytics için gerekli workspace tanımını yapıyoruz (Resim-6).

Resim-6

5. adımda Tags yani etiketleme işlemi var. Bu konuda da sözü Fırat Yaşar’a bırakıyorum ve Designing Azure Tags Nedir? yazısını okumanızı tavsiye ediyorum. Burada herhangi etiketleme yapmadan devam ediyoruz (Resim-7).

Resim-7

Son adımda (Resim-8) ise yaptığımız ayarları gözden geçirebiliyoruz. Ekranın üstünde de göreceğimiz gibi yaptığımız konfigürasyonda herhangi bir sorun görünmüyor. Create‘e bastıktan sonra da servisimiz için gerekli kaynakların oluşturulmasını bekleyebiliriz.

Resim-8

Kubernetes servisimiz oluşturduktan sonra karşımıza Resim-9‘da göreceğiniz Overview ekranı çıkacak. Burada servis ile ilgili yer, Kubernetes versiyonu gibi genel bilgiler yanında Monitor containers ile Azure Monitor Insights kullanarak container’ların performans ve sağlık izlemelerini yapabilirsiniz.

Resim-9

Peki container monitoring bize neler sağlıyor? Resim-10‘da göreceğiniz gibi Cluster genelinde CPU, memory, node ve aktif podları görebiliyoruz.

Resim-10

Nodes sekmesinde ise node’ların durumunu detaylı olarak inceleyebilirsiniz (Resim-11).

Resim-11

Controllers sekmesinde cluster üzerindeki controller’ları görebiliyorsunuz. Nodes sekmesinde de olduğu gibi her bir satırda solda yer alan ok işaretine tıklayarak alt detaylara da ulaşabiliyorsunuz (Resim-12).

Resim-12

Son olarak da Containers sekmesinde de mevcut container’lar ile ilgili bilgilere ulaşmanız mümkün (Resim-13).

Resim-13

AKS oluştururken mshowto_rg adında yeni bir de resource group oluşturmuştuk. Servis oluşturulduktan sonra Azure Portal üzerinden mevcut resource group’lara bakarsanız (Resim-14) gibi mshowto_rg dışında resource group’ların da oluşturulduğunu göreceksiniz (Cloud-shell için olan hariç). Bunlardan ilki Container Insights ve Log Analytics workspace için oluşturulan DefaultResourceGroup-WEU (Resim-14).

Resim-14

Bir diğer resource group ise availability set, VM, disk, network interface, network security group ve route table içeren MC_mshowto_rg_mshowtok8s_westeurope (Resim-15).

Resim-15

Servis tanımında belirttiğimiz resource group mshowto_rg içerisinde ise Kubernetes service yer alıyor. Resim-16‘da gördüğünüz Container registry’yi ayrıca oluşturdum. Network Watcher servisi için ise NetworkWatcherRG isimli bir resource group oluşturulmuş.

Resim-16

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

TAGs: Azure, Azure Portal, Yazılım Geliştiriciler için Azure, Azure Kubernetes Service, AKS, Containers, Kubernetes, Resource Group, Container Monitoring, Azure Container Instance, Azure Container Registry

Bu İçeriğe Tepkin Ne Oldu?
  • 3
    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!

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