Skip to main content

Kuruluma Başlamadan Önce Yapılması Gereken Kontroller

Kurulumlara başlamadan önce mutlaka sunucuların aynı ağda ve aynı Virtual Machine üzerinde olduğunu sistem yöneticilerinden teyit edin.
Kurulumlara başlamadan önce mutlaka sunucunun hostname’in localhost.localdomain olmadığından ve her birinin eşsiz olduğundan (hostname komutu ile) emin olun. Eğer bu şekilde ise mutlaka işlemlere başlamadan önce değiştirin.

(Gerekirse) Hostname değiştirme

/etc/hosts dosyasında 127.0.1.1 şeklinde bir hostname tanımlı olmamalıdır./etc/resolv.conf dosyasında "nameserver 127.0.1.1" şeklinde bir girdi olmamalıdır.
Eğer internete erişim için Proxy gerekiyorsa aşağıdaki kodlar çalıştırılmalıdır.
Aşağıdaki dosyalara altındaki kodları ekleyiniz:
Ubuntu paketleri güncellerken Türkiye lokasyonundaki sunucudan çekmeye çalışır. Ancak zaman zaman tr.archive.ubuntu.com adresinde sorun olabilmektedir. Bu durumda aşağıdaki değişikliği yapmak gerekir.
İçinde tr. olan adreslerin hepsini “Replace All” ile değiştirin.Örnek:
  • Eski: http://tr.archive.ubuntu.com/ubuntu
  • Yeni: http://archive.ubuntu.com/ubuntu

1) İşletim Sistemi Konfigürasyonları (Tüm Sunucularda Yapılacaktır)

2) Kubernetes Kurulumu

2.1) Konteyner Kurulumu (Tüm Kubernetes Sunucularında Yapılacaktır)

2.2) Kubernetes Kurulumu (Master ve Worker sunucularda)

Kubernetes anahtarlarının ve depo adreslerinin sisteme yüklenmesi:

2.2.1) Bash Auto-Completion (İsteğe Bağlı, Herhangi Bir Kubernetes Master Sunucusunda)

Bu işlem ile kubernetes komutlarının yazımında hız kazanılabilir:

2.2.2) Kubernetes Master Sunucu Oluşturma (Kubernetes Master Sunucularında)

Multi-Master Kubernetes yapmak için aşağıdaki komut çalıştırılır:
Master sunucunun hostname adresi kullanılır.
Eğer kubernetes podlarının alacağı ip bloğu (podCIDR değeri) olarak 10.244.0.0/16 kullanmayacaksanız yukarıdaki komutu buna uygun olarak düzenlemeniz gerekmektedir.
Multi-Master yapısını kullanmak için diğer Master olacak node’lar aşağıdaki kod ile bağlanmalıdır
Eğer bağlantı komutu yeniden oluşturulmak istenirse aşağıdaki kodlardan ikincisinin çıktısı ilkine eklenmelidir:
Sonuç olarak aşağıdaki gibi bir görünümde olmalıdır:
Eğer kod manuel olarak oluşturulmak istenirse, aşağıdakiler kullanılır:
  • XXX için → kubeadm token list
  • YYY için → openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
  • ZZZ için → sudo kubeadm init phase upload-certs --upload-certs

2.2.3) Kubernetes Master Sunucusunda kubectl Komutunun Kullanıcı Konfigürasyonunu Ayarlama (Kubernetes Master Sunucularında)

kubectl komutlarını çalıştıracak kullanıcı için tanımlar yapılır:

2.2.4) Kubernetes Ağ Eklentisini Kurun (Kubernetes Master Sunucularında)

Bu kılavuzda Calico ağ eklentisini kullanacağız. Desteklenen diğer ağ eklentilerini seçebilirsiniz. Calico, Kubernetes için tasarlanmış bir katman 3 ağ yapısını yapılandırmanın basit ve kolay bir yoludur.

2.2.5) Master Sunucu Aynı Zamanda Worker Olarak da Kullanılmak İstenirse (Opsiyonel)

Canlı ortamlar için tavsiye edilen bir yöntem değildir.
Master’a Worker görevini eklemek için:
Master’dan Worker görevini kaldırmak için:

2.2.6) Kubernetes Worker Sunucularını Master’a Kaydetmek (Kubernetes Worker Sunucularında)

Worker sunucusunu Master’a bağlamak için bir token bilgisine ihtiyaç vardır. Bu kurulum aşamasında master node’da yazılı olarak görülecektir. Ama atlanırsa ya da tekrar görüntülemek isterseniz aşağıdaki komut kullanılabilir. Master Node üzerinde
Worker olacak Node(lar) üzerinde

2.2.7) Kurulum Kontrol (Herhangi Bir Kubernetes Master Sunucusunda)

Master’dan aşağıdaki kod çalıştırıldığında Master’a ek olarak oluşturulan Node da görünüyorsa kurulum başarıyla tamamlanmış demektir. İki dakika sonunda NotReady durumundan Ready durumuna geçmezse "kubectl describe node <NODE_NAME>" komutu ile sorun incelenmelidir.

2.3) DNS Test (İsteğe Bağlı, Herhangi Bir Kubernetes Master Sunucusunda)

Daha fazla bilgi için lütfen bu linkteki adresi inceleyiniz.