1. Ana Sayfa
  2. Container
  3. Docker Desktop Üzerinde Kubernetes Kullanımı – Bölüm 1

Docker Desktop Üzerinde Kubernetes Kullanımı – Bölüm 1

win11-1
Ruijie Teknoloji Günü

Desktop‘a gelen en büyük yeniliklerden birisi de tek node’dan oluşan bir cluster ile gelmesi. Böylece kendi ortamınızda test etmek istediğimiz Kubernetes işlemlerini ek bir kuruluma gerek kalmadan yapabiliyoruz. Varsayılan olarak kapalı geldiği için bu özelliği aktifleştirmek için Docker Desktop Settings ekranında en altta yer alan Kubernetes sekmesindeki (Resim-1) “Enable Kubernetes”i seçmek yeterli. Ek olarak docker stack komutları için Kubernetes’i varsayılan orchestrator olarak ayarlayabilir ve çalışan Kubernetes ’larının görünüp görünmemesini ayarlayabilirsiniz. Apply & Restart butonuna bastıktan sonra Kubernetes cluster çalışmaya başlayacak.

NOT: Eğer Kubernetes ile ilgili fazla bilgim yok diyorsanız devam etmeden önce Onur Yüksektepeli‘nin Kubernetes Nedir? makalesini okumanızı tavsiye ediyorum. Örnekte kullandığım Docker Desktop versiyonu 2.2.0.3 (42716).

Resim-1

Bu işlemi yaptıktan sonra ek olarak hangi container imajlarını kullandığını görmek için docker images komutunu çalıştırabilirsiniz (Resim-2).

Resim-2

Kubernetes çalışmaya başladığına göre artık komutunu kullanmaya da başlayabiliriz; kubectl get all komutu ile sistemdeki büyün kaynakları listeleyerek başlıyorum (Resim-3). Henüz bir deployment yapmadığımız için sadece Kubernetes servisi görünüyor.

Resim-3

Örnek olarak container imajı kullanarak bir pod deploy etmek istiyorum. Bunun için kullanacağım. Resim-4‘te de göreceğiniz gibi Kubernetes eklentisini kuruyorum. Bu eklenti ile eklentisi de kuruluyor.

Resim-4

Eklenti kurulumu sonrasında ise yeni bir dosya açıyorum, sağ altta tipini YAML olarak seçiyorum ve pod yazdığımda bana Kubernetes Pod seçeneğini çıkartıyor (Resim-5).

Resim-5

Tab’a bastığımda ise pod deployment yapmak için gerekli YAML dosyasını tamamlıyor (Resim-6). Burada sadece pod deploy edeceğimiz için service, deployment ve replicaset gibi diğer bileşenler olmayacak.

Resim-6

YAML üzerinde image seçeneğini nginx:latest ve containerPort seçeneğini de 80 olarak değiştirip nginx-pod.yml olarak dosyayı kaydediyorum (Resim-7).

Resim-7

Dosyayı kaydettiğim klasöre üzerinden gelerek kubectl create -f .\nginx-pod.yml komutunu çalıştırıyorum (Resim-8). Sonrasında yine kubectl get all komutu ile kaynakları listelediğimde myapp isimli pod’un çalıştığını görebiliyorum. Pod çalışıyor ancak container’da yer alan uygulamanın (nginx) tam olarak çalıştığından emin olmak için ise tarayıcıdan localhost (80) denerseniz sayfa görüntülenemiyor mesajı alacaksınız. Bunun nedeni henüz port-forward yapmamış olmamız. Docker’da kullandığımız port mapping’e benzer şekilde kubectl port-forward pod/myapp 8080:80 komutu ile pod’un 80 portunu 8080 portuna forward ediyorum.

Resim-8

Tarayıcı üzerinden localhost:8080 yazdığımızda ise Kubernetes üzerinde çalışan nginx’e ulaşabiliyorum (Resim-9).

Resim-9

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.docker.com/docker-for-windows/kubernetes/

https://kubernetes.io/docs/reference/kubectl/

https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/

TAGs: Docker, Docker Desktop, , Container, nginx, Kubernetes, , kubectl, PowerShell, YAML, Visual Studio Code

Ruijie Teknoloji Günü
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