1. Ana Sayfa
  2. Container
  3. Kubernetes Cluster Kurulumu 2 – Kubeadm, Kubelet ve Kubectl

Kubernetes Cluster Kurulumu 2 – Kubeadm, Kubelet ve Kubectl

Kubernetes Cluster Kurulumu 2 – Kubeadm, Kubelet ve Kubectl

Cluster serimizin ilk yazısında birlikte ön hazırlıkları gerçekleştirdik. Vagrantfile ile üzerinde Cluster node’larını ayaklandırmıştık. Tekrar göz atmak isterseniz, ilk yazımızı buradan kontrol edebilirsiniz.

Kubernetes’in ikinci yazısında , ve kurulumlarını gerçekleştireceğiz.
Hadi başlayalım! Proje dizinine geliyor ve ile tüm node’ları UP edelim.

Sunucular çalışır duruma geldi. Kubernetes Cluster mimarisinde master diye bir kavram olmamasına rağmen çoğu dokümanda bu ayrıma yer verilmiş. Bu durumun başlıca sebeblerinden bazıları, kolay anlaşılabilir olması ve Kubernetes Cluster’ın ilk sunucusunda güvenlik nedeniyle Pod’lara yer vermemesidir.

Biz de Kubernetes’i kuracağımız ilk sunucuya Master, dahil edeceğimiz sunuculara ise node (minion) diyeceğiz. Adım adım ilerlerken bu ayrıntılara da değineceğiz.

Resim-1

[star_list]

  • Sunucular üzerinde işlemlere başlayabiliriz. Burada yapacağımız işlem adımları, 1- 6 tüm node’larda, 7-9 sadece Node, 10 sadece Master sunucularında uygulanmalıdır.

[/star_list]

Tüm Node’lar

Adım -1 Hostname düzenleme

Adım -2 kurulumu

Gerekli paketleri kuruyoruz.

Docker kuruyor ve servisi enable yapıyoruz.

Repository’e ekliyoruz.

 

 

 

 

 

 

 

 

 

Resim-2

Adım -3 Docker yeni versiyonlarında cgroup driver olarak “systemd” değiştirme

Docker yeni kurulumlarda cgroup driver, systemd olmasını öneriyor. Systemd servisleri systemctl ile yönetilebilir.

Docker’ı restart ediyoruz.

Adım -4 Normal kullanıcıların, Docker komutlarına çalıştırmasına izin verin

Vagrant box’lar genellikle normal user’ı vagrant olarak oluşturuyor.

Adım -5 Kubeadm, Kubelet ve Kubctl kurulumu

Not: Sadece 16.04 Xenial Kubernetes deposu hazır. 18.04 Kubernetes deposu kullanıma sunulduğunda, aşağıdaki xenial değerini Bionic kod adıyla değiştirin. Hold parametresi paketlerin güncellenmesini engeller. Güncellemelerde her zaman yapı uyum kontrolü yapılması gerekir.

Adım -6 Swap’ın devre dışı bırakılması

Geçerli oturumda swap alanını kapatmak için,

Değişikliğin kalıcı olması için,

Swap alanını kontrol ettiğimizde boş gelmeli.

Sadece Master

Adım -7 Kubernetes Master kurulumu

Kubeadm komutunun ardından bir Kubernetes master’ı kuracak ve yapılandıracaksınız. Bu adım biraz uzun olacak, Kubeadm’da biraz detaya iniyoruz.

Değişkenler

Daha anlaşılır ve kullanılabilir olması adına değişkenleri kullanıyoruz. Dilerseniz direkt kubeadm init komutundan hardcoded yapabilirsiniz.

Vagrantfile ile mast sunucusunda 192.168.1.150 IP adresini verdik ve ifconfig ile bu IP adresini hangi ağ adaptörü almış görebiliriz. Tercihlerimize göre düzenleyerek uygulayalım.

Değişkenleri belirledikten sonra Kubeadm yapılandırma işlemini başlatabiliriz.

  • –service-cidr Servisler için Network,
  • –pod-network-cidr Podlar için Network,
  • –service-dns-domain Servis alternatif DNS,
  • –apiserver-advertise-address Master IP, Aksi belirtilmedikçe, kubeadm, master’ın IP’sini tanıtmak için varsayılan ağ geçidiyle ilişkili ağ arayüzünü kullanır. Vagrant’ın kullandığı network dışında kullanacağımız için ağ geçidi belirtiyoruz.

Artık kubeadm’i yapılandırabiliriz. Diğer adımlarda kubeadm init çıktısına göre ilerleyeceğiz.

Başarılı olarak Master nod oluşturuldu. Çıktıyı kontrol ettiğimizde kullanıcı izni (bkz. Adım -4), Pod Network eklentisinin kurulması gerektiğini ve bu Master’a başka node join etmek için gerekli çıktıyı görüyoruz. kubeadm join tokeni saklıyoruz. Adım adım inceleyeceğiz.

 

 

 

 

 

 

 

 

 

 

 

 

 

Resim-3

Adım -8 Normal kullanıcının Kubectl komutlarını çalıştırmasına izin verin

Kubectl komutlarını sudo ayrıcalıkları olmadan çalıştırabilmek için vagrant (bkz. Adım -4) kullanıcının ana dizinine kopyalayacağım.

Adım -9 Pod Network kurulumu

Yapılandırma işleminde son olarak bir network modülünün kurulu olması gerektiğini söylüyor. Ben kurulumda Weave’i kuruyorum. Dilerseniz alternatif olarak Calico, Flannel, Cilium ya da Kube-router’ı deneyebilirsiniz.

Adım – Opsiyonel

Varsayılan olarak, Kubernetes Cluster güvenlik nedenleriyle master pod üzerinde uygulama deploy ettirmiyor. Master üzerinde deploy etmek için taint işlemini yapıyoruz.

Sadece Node’ler

Adım -10 Master node’a Join

Token’imizi saklamıştık (bkz. Adım -7). Bundan sonra ne kadar Node kullanıyorsak, join komutunu çalıştırıyoruz

Kontrol

Kubectl ile tüm podların durumunu kontrol ediyoruz.

kube-system space’de coredns ve kube-proxy podları 2 node üzerine ayrı ayrı çalıştırdı. Kurduğumuz Network modülü Weave-net ise 2 node üzerinde 2 replica ile çalışıyor.

 

 

 

 

 

 

Resim-4

Gelecek yazımızda Kubernetes üzerinde Uygulama Deploy ve ReplicaSet işlemlerini uygulayacağız.

Şimdilik sanal sunuuclarımızı kapatabiliriz.

Bir sonraki yazıda up etmek üzere.

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://github.com/ugurcivak/

https://kubernetes.io/docs/home/

Yorum Yap

Yazar Hakkında

Uğur, 1992 İstanbul'da doğdu. Ayvansaray Üniversitesi & Bilge Adam tarafından hazırlanan İnternet ve Ağ Teknolojileri bölümünü bitirdi. Lisansını Anadolu Üniversitesi İşletme Fakültesinde tamamladı. Akdeniz Üniversitesi Bilgisayar Mühendisliğine hazırlanıyor. Bilge Adam, İsimtescil gibi sektöründe öncü firmalarda kariyerine devam eden Uğur, 4 yıldır MaestroPanel firmasında Windows & Linux Server, Exchange & Mail Server, Virtualization Infrastructure, Microsoft Azure, Python üzerinde araştırma ve sistem geliştirme yöneticisi olarak çalışmakta. Boş zamanlarında, uzayın boşluğunda kayboluyor.

Yorum Yap