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

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

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

İlk bölüm‘de üzerinde bir servis oluşturup nasıl monitor edebileceğimizi incelemiştik. Bu bölümde ise ’a nasıl erişeceğimize ve Azure Container Registry () üzerinden container imajı çekebilmek için nasıl yetkilendirme yapabileceğimize bakacağız.

NOT: Portal üzerinden Kubernetes dashboard yazan linke tıklayınca direkt olarak açılmıyor. 🙂

Öncelikle bilgisayarınızda yüklü olması gerekiyor. Cloud shell’i maalesef kullanamıyoruz. versiyonunun 2.0.27 ve üzerinde olması gerekli. Eğer bilgisayarınızda kurulu değilse buradan indirebilirsiniz.

CLI kurulumunu tamamladıktan sonra eğer bilgisayarınızda kubectl yüklü değilse az install-cli komutu ile yüklüyoruz (Resim-1).

NOT: Ekran görüntülerinden de göreceğiniz üzere bu işlemleri administrator olarak açtığım üzerinde yapıyorum.

Resim-1

Kubectl kurulumunu tamamladıktan sonra Azure CLI’a login oluyoruz. Komutumuz az login (Resim-2).

Resim-2

Login işlemi için bize bir tarayıcı ekranı açacak ve aslında login işlemini tarayıcı üzerinden yapacağız. Login sonrasında Resim-3‘teki ekranı göreceksiniz.

Resim-3

Azure Kubernetes Service’te kurduğumuz cluster’a ait credential bilgilerini almak için ise az aks get-credentials –resource-group <resource_group_adı> –name <cluster_adı> şeklindeki komutunu çalıştırıyoruz (Resim-4). Bu komut ile ilgili credential bilgileri kube config dosyasına ekleniyor.

Resim-4

Son olarak da az aks browse
–resource-group <resource_group_adı> –name <cluster_adı> şekindeki komutu çalıştırıyoruz (Resim-5). Burada bir Proxy oluşturarak loopback adresi üzerinden 8001 portu üzerinden Kubernetes dashboard’a erişim sağlıyor.

Resim-5

Resim-6‘da da göreceğiniz gibi dashboard kullanıma hazır. Resim-5‘te yer alan PowerShell ekranını kapatırsanız ya da CTRL+C yaparsanız erişiminiz de kesilecektir. Eğer tekrar açmak isterseniz Resim-5‘teki az aks browse komutu ile açabilirsiniz.

Resim-6

Dashboard erişimini sağladıktan sonra şimdi de farklı bir PowerShell açarak AKS’den (ACR) üzerindeki container imajını çekebilmek için yetkilendirme yapacağız. AKS servisini oluştururken bir service principal oluşturmuştuk. Buradaki Client Id değerine ihtiyacımız var. Bunu almak için Azure CLI üzerinden Resim-7‘de göreceğiz ilk komut olan aşağıdaki komutu çalıştırıp dönen değeri de $ClientID değişkenine atıyoruz.

az aks show –resource-group <resource_group_adı> –name <aks_cluster_adı> –query “servicePrincipalProfile.clientId” –output tsv

Buradaki —output tsv‘nin anlamı komut çıktısını “table separated value” şeklinde istediğimiz anlamına geliyor.

Benzer şekilde ACR’nin de id değerine ihtiyacımız var. Bunun için de aşağıdaki komutu kullanıyoruz (Resim-7) ve dönen değeri $ACRID değişkenine atıyoruz.

az acr show –name <acr_adı> –resource-group <resource_group_adı> –query “id” –output tsv

Son olarak da pull yetkisini içeren rol atamasını yapmak için aşağıdaki komutu çalıştırıyoruz (Resim-7).

az role assignment create –assignee $ClientID –role acrpull –scope $ACRID


Resim -7

Artık ACR üzerindeki imajları kullanarak AKS cluster’ımıza deployment yapabiliriz.

Bu konuyla ilgili sorularınızı https://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-us/azure/container-registry/container-registry-auth-aks

https://docs.microsoft.com/en-us/cli/azure/format-output-azure-cli?view=azure-cli-latest

TAGs: Azure, Azure Portal, , Azure Kubernetes Service, AKS, Containers, Kubernetes, , PowerShell, Kubernetes Dashboard, Azure Container Registry, ACR, Azure CLI, Kubectl

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