#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.