#Hızlı geçiş
Rancher Failover (Docker Persistent Data) #Bölüm 1
Rancher Failover (Syncthing) #Bölüm 2
Rancher Failover (Container Transfer) #Bölüm 3
Rancher Failover (Keep Alived) #Bölüm 4
Daha önce kurduğunuz Rancher sunucunu bir önceki bölümde aktardığınız farklı ip adresine sahip sunucuda çalıştırdığınız zaman problemler yaşayacaksınız. Bununla alakalı ip değişikliği gibi işlemlerle uğraşmadan, Rancher’ın daha önce çalıştığı ip adresini KeepAlived yardımıyla aktif olan sunucuya atayacağız.
Öncelikle daha önce Rancher01 sunucusunda kullandığım ve aktif olarak Rancher’ın çalıştığı ip adresini ubuntu sunucusundan alıp, yeni bir ip adresi ubuntu sunucusuna veriyorum.
nano /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
eth0:
addresses:
# - 10.0.0.104/24 -- Deleted
- 10.0.0.100/24 # -- Added
gateway4: 10.0.0.1
nameservers:
addresses:
- 185.134.185.6
- 185.134.185.7
version: 2
netplan apply
Artık Rancher01 makinemin ip adresi 10.0.0.100 olarak değiştirildi. Rancher’ın çalıştığı 10.0.0.104 ip adresim ise şu an için boşta. Şimdi Keepalived yapılandırmasını yapıp, bu ip adresini keepalived’in kollarına bırakalım.
Şimdi her iki sunucuya da keepalived servisini kuralım.
apt install keepalived -y
IPv4 için paket iletmeyi aktif edelim.
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
Değişiklikleri aktif edelim.
sysctl -p
keepalived.conf dosyalarımızı her iki sunucuda da düzenliyoruz.
nano /etc/keepalived/keepalived.conf
Rancher01 sunucusu için düzenlenecek keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 255
advert_int 1
authentication {
auth_type PASS
auth_pass 12345
}
virtual_ipaddress {
10.0.0.104/24
}
}
Rancher02 sunucusu için düzenlenecek keepalived.conf
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 51
priority 254
advert_int 1
authentication {
auth_type PASS
auth_pass 12345
}
virtual_ipaddress {
10.0.0.104/24
}
}
- interface : Ağ arayüzü (Sunucunuza göre değiştirmeniz gerekir)
- priority : Öncelik. Daha yüksek olan birincil sunucu olacaktır
- virtual_ipaddress : Yayın yapılacak sanal IP adresi
Aşağıdaki komut ile, ağ arayüzüne ve ip bilgilerine erişilebilir
ip -brief address show
Her iki sunucuda, keepalived ayarları yapıldıktan sonra aşağıdaki komutlar ile keepalived ın servis olarak çalışması sağlanır.
systemctl start keepalived
systemctl enable keepalived
Rancher01 makinesinin ip adresini kontrol ettiğimizde keepalived’e eklediğimiz ip adresinin eklendiğini görüyoruz.
root@rancher01:~# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 10.0.0.100/24 10.0.0.104/24 fe80::215:5dff:fe23:325/64
docker0 DOWN 172.17.0.1/16 fe80::42:27ff:fe58:fcba/64
Şimdi Rancher02 makinesinin ilgili ip adresini alma senaryosunu yaşamak adına Rancher01 makinasındaki keepalived servisini durduruyoruz.
Rancher02 deki ip adreslerine baktığımızda eklediğimiz ip adresinin başarılı bir şekilde Rancher02’ye geçtiğini görüyoruz.
root@rancher02:~# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 10.0.0.109/24 10.0.0.104/24 fe80::215:41ff:fe05:1a08/64
Şimdi 10.0.0.104 ip adresi hangi sunucuda ise öncelikle orada docker üzerindeki rancher container’ı kaldırıyoruz. Daha sonra keepalived durdurup diğer makinede Rancher’ı kaldırıyoruz. Daha sonra her iki makinede de keepalived servisini aktif etmeyi ihmal etmeyin.
Artık hem verilerimiz failover sunucusuna gönderiliyor hemde ip adresimiz.
4 bölümden oluşan bu yazı serisinin sonuna geldiniz. Tebrikler! Artık failover yapılarını dilediğiniz şekilde kurabilirsiniz.