Kubernetes cluster'ı bir den fazla şekilde kurup ayağa kaldırabiliriz. Bu yazımda kubespray ile kubernetes cluster kurulumundan bahsedeceğim.
Ortamım da 3 adet ubuntu makinem mevcut.
ansible 10.10.0.155
node1 10.10.0.145
node2 10.10.0.170
Kubespray in cluster içerisindeki sunuculara (Master, Worker nodelar) şifresiz erişebilmesi için bir ssh key oluşturup bunu ilgili sunuculara kopyalamamız gerekiyor.
Ansible makinem de işlemlerimi gerçekleştiriyorum.
$ sudo su -
$ ssh-keygen -t rsa
$ ssh-copy-id root@10.10.0.145
$ ssh-copy-id root@10.10.0.170
Kubespray için gereksinimler kuruluyor
$ apt-get update
$ apt-get install -y python3-pip
Kubespray projesini repodan clone yapalım
$ git clone https://github.com/kubernetes-incubator/kubespray.git
Kubespray reposundaki requirements.txt içerisinde belirtilen bağımlılıkların kurulumu gerçekleştirelim
$ pip3 install -r requirements.txt
Repo içerisinde gelen örnek envanter bilgileri kopyalanıyor
$ cp -rfp inventory/sample inventory/emirdemo
Master ve Worker IP adresleri bir değişkene atanıyor
$ declare -a IPS=(10.10.0.145 10.10.0.170)
İlgili ip bilgileri hosts.yaml dosyasına yazılıyor
$ CONFIG_FILE=inventory/emirdemo/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
Sunucu bilgilerini düzenlemek isterseniz
$ nano inventory/emirdemo/hosts.yaml
Ekstra ayarlar için ise aşağıdaki iki dosya üzerinde değişiklikler yapabiliriz.
$ inventory/emirdemo/group_vars/all/all.yml
$ inventory/emirdemo/group_vars/k8s-cluster/k8s-cluster.yml
Helm kurmak, Proxy tanımlamaktan, Metric Server’a kadar çok sayıda parametre ile oynayabiliyoruz.
Artık hazırız. Son olarak aşağıdaki komutu çalıştırdığımız anda, kurulum işlemi başlamış olacaktır. Yaklaşık 15-20 dakika sürebilir.
$ ansible-playbook -i inventory/emirdemo/inventory.ini --user root cluster.yml
Evett yükleme tamamlandıktan sonra kubernetes ortamımız hazır hale geliyor node1 e ssh yaparak
$ kubectl get nodes
komutunu çalıştırıp kubernetes ortamınızın hazır olduğunu görebilirsiniz.
Comments