Ubuntu Sunucusuna Kubespray ile Kubernetes Kurulumu
  1. Anasayfa
  2. Open Source

Ubuntu Sunucusuna Kubespray ile Kubernetes Kurulumu

0

Bu yazıda Ubuntu 20.04 sunucusuna Kubespray ile Kubernetes kurulumu yapacağız. İster single node isterseniz de cluster kurulumu yapabilirsiniz. Biz bugün single node bir kubernetes kuracağız.

Kubernetes Kurulumuna Hazırlık

SSH İşlemleri

İlk olarak sunucumuza şifresiz bağlantı sağlayabilmemiz için ssh işlemlerini yapacağız. Bunun için aşağıdaki komutları sırası ile yapacağız.

ssh-keygen -q -f ~/.ssh/id_rsa -N “”

Bu komut ile şifresiz ssh eişimini yapılandırıyoruz.

Erişim yapılandırılmasından sonra bu erişimi tüm sunuculara kopyalıyoruz. Biz single node kuracağımız için sadece kendisine kopyalıyoruz. Eğer cluster bir yapıda kurulum yapacak olursanız tüm sunuculara aşağıdaki işlem yapılmalıdır.

ssh-copy-id SUNUCU_IP

Kubespray ile Kubernetes Kurulumu

Resim-1

Bu işlemler tamamlandıktan sonra sunucuya şifresiz bağlanabildiğimizi aşağıdaki komut ile test ediyoruz.

ssh SUNUCU_IP

Kubespray ile Kubernetes Kurulumu

Resim-2

Kurulumu root kullanıcı ile yapsak bile kubespray ansible ile kubernetes kurulumu sırasında farklı bir kullanıcı kullanıyor. Bundan dolayı aşağıdaki komut ile sudo komutlarında şifre sormamasını sağlıyoruz.

sudo sed -i /etc/sudoers -re ‘s/^%sudo.*/%sudo   ALL=(ALL) NOPASSWD:ALL/g’

Kubespray ile Kubernetes Kurulumu

Resim-3

Firewall kapama İşlemleri

Şimdi sunucu da swapoff işlemini ile firewall kapama işlemlerini yapacağız. Bunun için aşağıdaki komuttan yardım alacağız.

sudo swapoff -a && sudo ufw disable && sudo systemctl disable ufw

Bu işlemden sonra aşağıdaki komutları sırası ile çalıştırarak sunucuda gerekli olan gereksinimlerin kurulumu sağlıyoruz.

sudo apt-get install software-properties-common -y

sudo apt update -y

sudo apt upgrade -y

sudo apt install aufs-tools -y

sudo apt install python3-pip -y

sudo apt-get install build-essential libssl-dev libffi-dev python-dev -y

sudo apt-get update -y

Kurulum dosyasını indirme

Bu işlemleri tamamladıktan sonra kubespray ile kubernetes kurulumunu başlayabiliriz. İlk önce aşağıdaki komut ile kubespray doyasını indiriyoruz.

git clone https://github.com/kubernetes-sigs/kubespray.git

Kubespray ile Kubernetes Kurulumu

Resim-4

İndirme işlemi tamamlandıktan sonra oluşan kubespray dosyası içine giriyoruz. Artık işlemlerimizi bu dosya içinde sürdüreceğiz.

İlk önce kubespay gereksinimlerini kuracağız. Bunun için aşağıdaki komutu kullanacağız.

sudo pip3 install -r requirements.txt

Kurulum tamamlandıktan sonra inventory klasörünün içindeki sample klasörünü istediğiniz ad ile kopyalayabilirsiniz. Önce klasörü inventory klasörü içinde oluşturuyorusunuz.

mkdir inventory/hasan

cp -r inventory/sample/* inventory/hasan

Kubespray ile Kubernetes Kurulumu

Resim-5

Ansible dosyasını düzenleme

Bu işlemlerden sonra yeni ansible dosyasını düzenlemek için aşağıdaki komutlar ile inventory buildi alıyoruz.

declare -a IPS=(SUNUCU_IP)

Eğer cluster yapıda kurulum yapıyorsak sunucuların iplerini aralarında boşluk bırakarak yazılması gerekmektedir.

CONFIG_FILE=inventory/hasan/hosts.yml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

Bu komutlada config işlemlerini tamamlamış oluyoruz.

Kubespray ile Kubernetes Kurulumu

Resim-6

Bu işlemlerden sonra oluşan host.yaml dosyasını istediğiniz gibi düzenleyebilirsiniz.

Host dosyasının düzenlenmesi

vi inventory/hasan/host.yaml

Kubespray ile Kubernetes Kurulumu

Resim-7

Bu host dosyasında nodeların her türlü düzenlemesini yapabilirsiniz. Master node seçebilirsiniz. Diğer nodaların görevlerini ayarlayabilirsiniz. Biz şuan single node kurulum yaptığımız için herhangi bir düzenleme yapmıyoruz.

Kubespray bize hazır olarak bazı paketlerin kubernetes ile kurulumu sağlıyor. Örnek olarak helm kurulumu ya da metric server kurulumu verilebilir. Bunun için invetory klasörünün içinde oluşturduğumuz klasörde düzenleme yapmamız gerekmektedir.

Diğer ayarlar

vi inventory/hasan/group_vars/k8s_cluster/addons.yml

Bu komut ile gerekli düzenlemeleri yapabiliriz. Ben bu kurulum sırasında false olan helm’i true yaparak helm’inde kurulumunu yapacağım.

Kubespray ile Kubernetes Kurulumu

Resim-8

Kubespray ile Kubernetes Kurulumu

Resim-9

Ayrıca kubernetes versiyonunu ya da kullanacağını network pluginini değiştirmek için de yine düzenleme yapabiliriz. Bunun için aşağıdaki komutu kullanarak işlemleri sağlayabiliriz.

vi inventory/hasan/group_vars/k8s_cluster/k8s-cluster.yml

Resim-10

Kubernetes Kurulumu

Artık kurulum işlemini başlatmak için hazırız. Aşağıdaki komutu çalıştırarak kubernetes kurulumu başlatabiliriz. Network hızınıza göre tahmini 10 ile 30 dk arasında bir sürede kurulum tamamlanması beklenmektedir. Süre daha da fazla olabilir.

ansible-playbook -i inventory/hasan/hosts.yml –become –become-user=root cluster.yml

İşlem tamamlandıktan sonra alttaki çıktıyı göreceksiniz.

Resim-11

Daha sonra pod node testlerini yapabilirsiniz. Ayrıca helm kurulumu yaptığımız için helm testi’de yapacağız. Bunun için aşağıdaki komutları kullanacağız.

kubectl get pods -A


Resim-12

kubectl get nodes -A

Resim-13

helm version

Resim-14

Alternatif olarak kurduğumuz kubernetes’i kaldırmak istersek aşağıdaki komutu kullanabiliriz.

ansible-playbook -i inventory/hasan/hosts.yml –become –become-user=root reset.yml

Bugün kubespray ile single node olan bir kubernetes kurulumu gerçekleştirdik.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Installing Kubernetes with Kubespray

Bu İçeriğe Tepkin Ne Oldu?
  • 2
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 2
    _ok_iyi
    Çok iyi
  • 1
    sevdim_
    Sevdim!
  • 1
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

8 Haziran 1995 yılında Ankara Gölbaşı'nda doğdum. Üniversite yıllarına kadar öğretim hayatımı Gölbaşı'ndaki okullarda geçirdim. Ankara Yıldırım Beyazıt Üniversitesi Bilgisayar Mühendisliği bölümü mezunuyum. Liseden başlayıp üniversitenin sonuna kadar amatör futbol oynadım. 2018 yılında mezun olduktan sonra BiSoft Bilgi Teknolojileri'nde Yazılım Uzman Yardımcısı olarak işe başladım. Daha sonra DevOps Uzman Yardımcısı pozisyonuna geçtim. Şuan Bimser Çözüm firmasında DevOps Uzmanı olarak iş hayatımı sürdürüyorum. Pozisyonumda kendimi geliştirerek yoluma devam ediyorum ve sizlere bu deneyimlerimi aktarmaya çalışacağım.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir