Instalación y configuración de Keepalived para usarlo con HAProxy


KeepAlived

KeepAlived es el encargado de levantar las direcciones IPs flotantes, el mismo se encarga de verificar si el servicio HaProxy se esta ejecutando en los nodos de manera a hacer failover automatico en caso de que caiga el servicio HaProxy

Instalacion de KeepAlived

El servicio keepalived es parte del paque "keepalived" que podemos instalar via yum

yum install -y keepalived

El archivo de configuracion principal del servicio es el /etc/keepalived/keepalived.conf *en dicho archivo se establecen tanto las direcciones IP que manejara el servicio ademas de los metodos para definir en que nodo debe estar preferentemente la IP.

###Abajo un ejemplo de configuracion basico del servicio keepalived con 2 direcciones IP flotantes.

vrrp_script chk_haproxy {          # Script de verificacion 
  script "killall -0 haproxy"      # verifica si existe un pid de haproxy
  interval 2                       # dicha verificacion lo hace cada 2 segundos
  weight 2                         # agrega 2 puntos al nodo que tenga un pid de haproxy
}
 
 
vrrp_instance VI_1 {               # Nombre de la instancia
    state MASTER                   # El rol que cumple dicho nodo en cuanto a la instancia, puede ser MASTER o BACKUP
    interface eth0                 # Interfaz de red en la cual se levantara la IP
    virtual_router_id 1            # ID del Virtual Router   
    priority 101                   # Prioridad o puntaje del nodo, 100 para el BACKUP y 101 para el MASTER
    advert_int 1                   # Intervalo en segundo de verificacion entre nodos
    vrrp_unicast_bind 10.150.48.73  # IP interna del nodo
    vrrp_unicast_peer 10.150.48.74  # IP del segundo nodo
    virtual_ipaddress {            # Se establecen las direcciones IP a levantar, pueden ser varias 
        10.150.48.75
        10.150.48.77
    }
    authentication {               # Se establece el metodo de autenticacion entre nodos
        auth_type PASS
        auth_pass 1111
   }
 
   track_script {                  # Se configura el chequeo del proceso haproxy configurado previamente
        chk_haproxy
   }
}
 
vrrp_instance VI_2 {               # Nombre de la instancia
    state BACKUP                   # El rol que cumple dicho nodo en cuanto a la instancia, puede ser MASTER o BACKUP
    interface eth0                 # Interfaz de red en la cual se levantara la IP
    virtual_router_id 2            # ID del Virtual Router   
    priority 100                   # Prioridad o puntaje del nodo, 100 para el BACKUP y 101 para el MASTER
    advert_int 1                   # Intervalo en segundo de verificacion entre nodos
    vrrp_unicast_bind 10.150.48.73  # IP interna del nodo
    vrrp_unicast_peer 10.150.48.74  # IP del segundo nodo
    virtual_ipaddress {            # Se establecen las direcciones IP a levantar, pueden ser varias 
        10.150.48.76
        10.150.48.78
    }
    authentication {               # Se establece el metodo de autenticacion entre nodos
        auth_type PASS
        auth_pass 1111
   }
 
   track_script {                  # Se configura el chequeo del proceso haproxy configurado previamente
        chk_haproxy
   }
}

Se debe tener en cuenta que dicho archivo debe ser editado conforme al rol y a la IP de cada nodo.

Una vez creado el archivo de configuracion debemos habilitar e iniciar el servicio

service keepalived start
chkconfig keepalived on

Deja un comentario