Kubernetes Bölüm 10: Kubernetes Kurulumu

Kubernetes Cluster Kurulumu

Kurulum Ubuntu üzerine yapılacak, bu sebeple komutlar Ubuntu – Debian ailesi uygun olacak, CentOS – Redhat ailesinde kullanırken bunu göz önüne almak gerekiyor.

Sunucuların Hazırlanması

Bu kısımda anlatılanlar tüm node’lar üzerinde yapılacak işlemleri kapsamaktadır.

İlk önce swap’ın kapatılması gerekiyor. Kubernetes geliştirilirken Swap olmayacak şekilde, swap açık olmayacak şekilde geliştirildi. Eğer swap kapatılmazsa kurulumu gerçekleştirmek mümkün olmuyor. Bu sebeple ilk adım swap’ın kapatılmasıdır.

Google apt repository key’leri ekleyelim.

Key eklendi, şimdi sıra Kubernetes apt repository’nin eklenmesine geldi.

Şimdi sunucularımızda package listemizi güncelleyelim

Repository’deki versiyonlari daha sonra incelemek icin apt-cache ile cache’leyelim. Geçiş yapmak gerektiğinde lazım olabiliyor.

Gerekli paketleri repository’den sunucularımıza çekelim.

Kubelet, container runtime’ımız olan docker status’lerini kontrol edelim.

Sistem ayağa kalktığı zaman çalışacak şekilde ayarlayalım.

Master İşlemleri

Öncelikle Pod entwork’ü yaratmamız gerekiyor. Docker konusuna baktıysanız Overlay network olarak geçen konunun aynısıdır. Kısaca tarif etmek gerekirse, Pod’ların birbirleri ile iletişim kurabiliyor olması için gereken altyapıdır. Bunun için bazı yazılımlar bulunmaktadır. Biz burada Calico kullanacağız. Şimdi ilgili yaml dosyalarını indirelim.

İnen calico.yaml dosyasını inceleyelim.

Calico yaml dosyasındaki ip bilgisine uygun olarak, bir pod network range’i belirleyerek Kubernetes cluster’ımızı oluşturalım.

API Server’a admin erişim yetkisine sahip bir hesap yaratalım

Pod network oluşturmak için gerekli yaml dosyalarını çalıştıralım.

Sistem specific Pod’ları ve calico Podl’arını inceleyelim.

Not : DNS Pod’umuz network deploy olup çalışır hale gelene kadar aktif olmayacak. Kısacası tamamı status kısmında running olarak görünmeli.

-watch flag kullanabiliriz.

Cluster’da mevcut Pod’ların listesine bakalım, tabii ki bu kısımda sadece Master görünecek.

kubelet static Pod manifestleri çalıştırıyoruz, yani bir anlamda core cluster Pod’ları çalışır hale geliyor.

kubeconfig dosyasinin bulunduğu directory’i inceleyelim.

Master’daki manifestleri inceleyelim.

API Server ve Etcd nin manifestlerini incelemek istersek.

Node İşlemleri

Kubelet ve container runtime servislerini kontrol edelim.

Sistem basladığı zaman başlayacak şekilde set edelim.

Master’da token bilgisi verilmişti eger not almadıysak şu şekilde listeleyebiliriz.

Yeniden bir token generate etmek istiyorsak.

Master üzerinde ca cert hash bulunmakta.

API Server’ın ip adresi ya da adı, token’ımız ve cert ile Node’umuzu cluster’a dahil edelim.

Master’a dönecek olursak Networking Pod’u yaratılana kadar NotReady state’de görülecektir.

Pod’un schedule edilip container’ının indirilmesini bekliyor.

Master’da calico pod ve kube-proxy’nin yeni eklenen node’larda çalışır hale gelmesini gözlemleyelim.

Master’da eklenen node’umuz status’ünün Ready’e dönmesini gözlemleriz.

 

Lokalimize Kubernetes Kurulumu

Lokalimizede Kubernetes kullanabilmek için birçok seçenek bulunuyor. Bunlardan en çok tercih edileni Minikube.

Minikube kurulumu yapabilmek için Github sayfasına gidebiriliriz: https://github.com/kubernetes/minikube

Burada Intallation kısmında bizi yönlendirdiği adres: https://minikube.sigs.k8s.io/docs/start/

İşletim sistemimize uygun seçenekler mevcut.

Bende Windows var ve Windows’ta bu kurulum paket yöneticileri tarafından yapılır. Bunun için iki seçenek sunulmuş: winget ve choco.

Ben offical olduğu için winget’i tercih ettim. Winget kurulumu yapmanın ise iki yönetim var:

  1. Insider programına katılmak. Şu formu doldurabilirsiniz: https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR-NSOqDz219PqoOqk5qxQEZUNFkzQVcxMkJXWEFCUkE4WThQWUJMVlA1Ty4u
  2. Benim tercih ettiğim yöntemse Github üzerinden indirmek: https://github.com/microsoft/winget-cli/releases Buradaki installer ile işlemi kolayca yapabiliyorsuuz.

Sonra bir PowerShell açın ve şu komutu işletin:

Minikube başarıyla kuruldu.

Diğer Seçenekse Docker Desktop. Bende zaten kurulu ve muhtemelen sizde de kuruludur. Settings kısmına girip Kubernetes’i enable etmeniz ve onaylamanız yeterlidir.

Aşağıda, sol tarafta Docker logosunun yanında Kubernetes’i de gördüğümüzde, işlem tamam demektir.

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.