Зовнішній кластер Etcd для K8s з використанням Systemd – 3

У цій статті ми розгортаємо балансувальник навантаження (Load Balancer). Код нижче виконаний у відповідному порядку, і всі команди виконуються під користувачем root.

Процес для 192.168.1.241, 192.168.1.39

  • Встановлення та налаштування haproxy
dnf install -y haproxy-2.4.22-3.el9_3  
vi /etc/haproxy/haproxy.cfg #Видаляємо наявні frontend та backend  
frontend kube-apiserver  
 bind *:6442  
 mode tcp  
 option tcplog  
 default_backend kube-apiserver  

backend kube-apiserver  
 mode tcp  
 option tcplog  
 option tcp-check  
 balance roundrobin  
 default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250 maxqueue 256 weight 100  
 server kube-apiserver-0 192.168.1.241:6443 check  
 server kube-apiserver-1 192.168.1.39:6443 check  
 server kube-apiserver-2 192.168.1.141:6443 check  
---  

systemctl enable haproxy  
systemctl restart haproxy

Процес для 192.168.1.241

  • Встановлення та налаштування keepalived
dnf install -y keepalived-2.2.8-3.el9   
vi /etc/keepalived/keepalived.conf  
global_defs {  
 notification_email {  
 }  
 router_id LVS_DEVEL  
 vrrp_skip_check_adv_addr  
 vrrp_garp_interval 0  
 vrrp_gna_interval 0  
}  

vrrp_script chk_haproxy {  
 script "killall -0 haproxy"  
 interval 2  
 weight 2  
}  

vrrp_instance haproxy-vip {  
 state BACKUP  
 priority 100  
 interface enp1s0  
 virtual_router_id 60  
 advert_int 1  
 authentication {  
 auth_type PASS  
 auth_pass 1111  
 }  
 unicast_src_ip 192.168.1.241  
 unicast_peer {  
 192.168.1.39  
 }  

 virtual_ipaddress {  
 192.168.1.100/24 <- Віртуальна IP-адреса, має бути IP, який відсутній у мережі  
 }  

 track_script {  
 chk_haproxy  
 }  
}  
---  

systemctl enable keepalived  
systemctl start keepalived

Процес для 192.168.1.39

  • Встановлення та налаштування keepalived
dnf install -y keepalived-2.2.8-3.el9   
vi /etc/keepalived/keepalived.conf  
global_defs {  
 notification_email {  
 }  
 router_id LVS_DEVEL  
 vrrp_skip_check_adv_addr  
 vrrp_garp_interval 0  
 vrrp_gna_interval 0  
}  

vrrp_script chk_haproxy {  
 script "killall -0 haproxy"  
 interval 2  
 weight 2  
}  

vrrp_instance haproxy-vip {  
 state BACKUP  
 priority 100  
 interface enp2s0  
 virtual_router_id 60  
 advert_int 1  
 authentication {  
 auth_type PASS  
 auth_pass 1111  
 }  
 unicast_src_ip 192.168.1.39  
 unicast_peer {  
 192.168.1.241  
 }  

 virtual_ipaddress {  
 192.168.1.100/24 <- Настроюємо так само  
 }  

 track_script {  
 chk_haproxy  
 }  
}  
---  

systemctl enable keepalived  
systemctl start keepalived

Процес для 192.168.1.241, 192.168.1.39

  • Тестування keepalived
# Має бути виведено на 1.241 або 1.39, на іншому сервері буде показано тільки його IP.  
hostname -I  
<сервер IP> <віртуальна IP>




Перекладено з: [External Etcd K8s cluster with Systemd - 3](https://medium.com/@Poliphilson/external-etcd-k8s-cluster-with-systemd-3-8cb35d989d22)

Leave a Reply

Your email address will not be published. Required fields are marked *