Yazılım Geliştiriciler için Azure : Visual Studio Code ile Azure Üzerinde Container İşlemleri – Bölüm 3 (AKS)

aksk

İkinci bölümde Visual Studio Code üzerinden bir App Service oluşturup, Azure Container Registry (ACR) üzerinde yer alan imajı buraya deploy etmiştim. Bu bölümde ise Visual Studio Code ile Azure Kubernetes Service (AKS) üzerinde neler yapılabildiğine bakalım. Başlamadan önce Visual Studio Code üzerinde Azure Kubernetes Service ve Kubernetes eklentilerinin kurulu olduğunu da hatırlatmakta fayda var.

İlk olarak Resim-1‘de göreceğiniz gibi sol menüde yer alan Kubernetes ikonuna tıklayarak Kubernetes sekmesini açıyorum. Burada Clusters, Helm Repos ve Clouds seçenekleri bulunuyor. Azure üzerinde daha önceden oluşturduğum AKS’i Clouds altında da görebilir ve bilgisayarınızdaki kubeconfig’e ilgili merge işlemini buradan yapabilirsiniz. Bunun yerine Clusters üzerinden Add Existing Cluster seçeneği ile mevcuttaki AKS’i eklemek istiyorum. Eğer mevcutta yoksa Create Cluster diyerek yeni bir cluster da oluşturabilirsiniz. Yeni cluster seçenekleri arasında Azure Kubernetes Service, Azure Container Service ve Minikube Local Cluster seçenekleri yer alıyor.

Resim-1

Add existing cluster seçeneğini seçtikten sonra ikinci adımda benden cluster tipi seçmemi istiyor. Azure Kubernetes Service seçerek devam ediyorum (Resim-2).

Resim-2

Bir sonraki soru tahmin edeceğiniz gibi hangi Azure subscription’ı kullanmak istediğim (Resim-3).

Resim-3

Azure subscription’ı seçtikten sonra bu subscription altında daha önceden oluşturulmuş cluster’ları görebilirsiniz (Resim-4).

Resim-4

Add this cluster‘a tıkladıktan sonra ise Resim-5‘te göreceğiniz gibi cluster başarılı bir şekilde eklendi mesajını alıyorum. C:\Users\<kullanıcı_adı>\.kube altında yer alan config dosyasından da ilgili credentials’ın eklenip eklenmediğini görebilirsiniz.

Resim-5

Artık Cluster altında mshowtok8s adındaki cluster’ı görebiliyorum. Burada Resim-6‘da göreceğiniz gibi, Namespaces, Nodes, Workloads, Network, Storage, Configuration, Custom Resources ve Helm Releases seçenekleri yer alıyor.

Resim-6

Cluster’ı ekledim ama henüz herhangi bir deployment yapmadım. Bunun için bir deployment yaml dosyası oluşturmam gerekiyor. VS Code ile auto complete özelliğini kullanarak kolaylıkla bir deployment dosyası oluşturabilir, bu örnekte kullandığım deployment dosyasının tamamına buradan erişebilirsiniz. Oluşturduğum deployment dosyasını kubectl apply -f .\mshowto-deployment.yml komutu ile deploy ediyorum; deployment ve service created mesajlarını da alıyorum ancak burada bir sorun var. Deployments altında yer alan 2 deployment da kırmızı görünüyor (Resim-7).

Resim-7

Bunun hatanın nedeni Azure Kubernetes Service üzerinden container imajının bulunduğu Azure Container Registry’ye erişemiyor olmamız. Eğer Docker Hub üzerinde bir imaj olsaydı böyle bir hata almayacaktık. Bu sorunu gidermek için de aşağıdaki komutu çalıştırmamız yeterli.

az aks update -g mshowto-rg -n mshowtok8s –attach-acr mshowto

Burada mshowto-rg, resource group, mshowtok8s kullandığımız Azure Kubernetes Cluster ve mshowto da container imajını çekeceğimiz Azure Container Registry.

Komutu çalıştırdıktan sonra tekrar kubectl apply komutunu çalıştırdığımız zaman deployment objelerinin ve pod’ların düzgün bir şekilde oluştuğunu görebilirsiniz (Resim-8).

Resim-8

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/

https://github.com/mertyeter/hellonode

TAGs: Azure, Azure Portal, Yazılım Geliştiriciler için Azure, Azure Container Registry, ACR, Docker, Containers, Dockerfile, Linux, NodeJS, Visual Studio, Visual Studio Code, VSCode, VS Code, Kubernetes, k8s, Azure Kubernetes Service, AKS

Yazı gezinmesi

Mobil sürümden çık