Kubernetes Kümesinde IP Değişikliği - Virtual IP Kullanımı
Bu dökümanda, mevcut Kubernetes kümemizi bozmadan virtual IP'ye yönlendirerek, kesintisiz bir hizmet ile birlikte yüksek erişilebilirlik ile çalışmasını sağlayacağız.
Mevcut Makineler:
- Kubernetes Master1
- Kubernetes Master2
- Kubernetes Master3
- Kubernetes Worker1
- Kubernetes Worker2
1) Mevcut Sistem ve Virtual IP Erişimi
Mevcut sistemde, Master1 üzerinde kubeadm init komutuyla başlatılan bir Kubernetes kümesi oluşturuldu ve daha sonra diğer makineler (Master2, Master3, Worker1 ve Worker2) bu kümeye worker rolüyle dahil edildi.
Load Balancer üzerinde bir Virtual IP tanımlayarak, mevcut makineleri bu Virtual IP'ye 6443 portundan eriştirmemiz gerekiyor.
Çok Önemli
Eğer load balancer kullanmıyorsanız ve ağ üzerinde sanal ip oluşturamıyorsanız bunun için kullanabileceğiniz Keepalived ve HAProxy araçları ile bu işlemi gerçekleştirmek için tıklayınız.
Keepalived sanal ip oluşturmak için, HAProxy ise yük dengeleme işlemi için kullanılmaktadır.
2) IP Değiştirme
Kümede birden fazla master node olduğunda, bu master'ları tek bir master olarak bırakmak için kümeyi yeniden yapılandırmamız gerekmektedir.
Bu işlem genellikle diğer masterları kümeden tamamen çıkartarak başlar.
Aşağıdaki komut master1 hariç diğer masterlar (master2 ve master3) için çalıştırılır.
Master1 sunucusundan diğer masterlar (master2 ve master3) kümeden silinir.
Mevcut sistemde master1 ve worker sunucularının kalması gerekmekte.
2.1) Master1 sunucusunda yapılacaklar:
Kubelet ve containerd (docker kullanılıyorsa ayrıca docker uygulaması) durdurulur.
Bazı dosyaların yedekleri alınır ve silinir.
Containerd (docker kullanılıyorsa ayrıca docker uygulaması) yeniden başlatılır.
Kubeadm init komutu endpoint adresi düzenlenerek tekrardan çalıştırılır ve olarak kullanılır.
Not : Kubeadm join komutları not edilir.
2.2) Worker1 ve Worker2 İçin Yapılacaklar:
Kubelet ve containerd (docker kullanılıyorsa ayrıca docker uygulaması) durdurulur.
Bazı dosyaların yedekleri alınır.
Kubeadm worker join komutu worker1 ve worker2 makinelerinde çalıştırılır.
2.3 ) Master2 ve Master3 İçin Yapılacaklar:
Bu adımda sadece master join komutunu master2 ve master3'de çalıştırmanız yeterli olacaktır.
2.4) Küme Durumu Kontrolü:
Aşağıdaki komutlar ile yeni küme bilgilerinizi görebilirsiniz.