Red Hat Training

A Red Hat training course is available for RHEL 8

4.10. Instalación de agentes de recursos de red

Para que las operaciones de HA funcionen, el clúster utiliza agentes de recursos de red de AWS para habilitar la funcionalidad de conmutación por error. Si un nodo no responde a una comprobación de heartbeat en un tiempo determinado, el nodo se bloquea y las operaciones pasan a un nodo adicional del clúster. Los agentes de recursos de red deben estar configurados para que esto funcione.

Añada los dos recursos al mismo grupo para aplicar las restricciones de order y colocation.

Create a secondary private IP resource and virtual IP resource

Complete el siguiente procedimiento para añadir una dirección IP privada secundaria y crear una IP virtual. Puede completar este procedimiento desde cualquier nodo del clúster.

Procedimiento

  1. Introduzca el siguiente comando para ver la descripción del agente de recursos AWS Secondary Private IP Address (awsvip). Esto muestra las opciones y operaciones por defecto para este agente.

    # pcs resource describe awsvip
  2. Introduzca el siguiente comando para crear la dirección IP privada secundaria utilizando una dirección IP privada no utilizada en el bloque VPC CIDR.

    # pcs resource create privip awsvip secondary_private_ip=Unused-IP-Address --group group-name

    Ejemplo:

    root@ip-10-0-0-48 ~]# pcs resource create privip awsvip secondary_private_ip=10.0.0.68 --group networking-group
  3. Cree un recurso IP virtual. Se trata de una dirección IP de la VPC que se puede reasignar rápidamente del nodo vallado al nodo de conmutación por error, enmascarando el fallo del nodo vallado dentro de la subred.

    # pcs resource create vip IPaddr2 ip=secondary-private-IP --group group-name

    Ejemplo:

    root@ip-10-0-0-48 ~]# pcs resource create vip IPaddr2 ip=10.0.0.68 --group networking-group

Paso de verificación

Introduzca el comando pcs status para verificar que los recursos se están ejecutando.

# estado de las pcs

Ejemplo:

[root@ip-10-0-0-48 ~]# pcs status
Cluster name: newcluster
Stack: corosync
Current DC: ip-10-0-0-46 (version 1.1.18-11.el7-2b07d5c5a9) - partition with quorum
Last updated: Fri Mar  2 22:34:24 2018
Last change: Fri Mar  2 22:14:58 2018 by root via cibadmin on ip-10-0-0-46

3 nodes configured
3 resources configured

Online: [ ip-10-0-0-46 ip-10-0-0-48 ip-10-0-0-58 ]

Full list of resources:

clusterfence    (stonith:fence_aws):    Started ip-10-0-0-46
 Resource Group: networking-group
     privip (ocf::heartbeat:awsvip):    Started ip-10-0-0-48
     vip    (ocf::heartbeat:IPaddr2):   Started ip-10-0-0-58

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Create an elastic IP address

Una dirección IP elástica es una dirección IP pública que puede ser rápidamente reasignada desde el nodo vallado al nodo de conmutación por error, enmascarando el fallo del nodo vallado.

Tenga en cuenta que esto es diferente del recurso IP virtual creado anteriormente. La dirección IP elástica se utiliza para las conexiones a Internet de cara al público en lugar de las conexiones de subred.

  1. Añada los dos recursos al mismo grupo que se creó anteriormente para aplicar las restricciones de order y colocation.
  2. Introduzca el siguiente comando de la CLI de AWS para crear una dirección IP elástica.

    [root@ip-10-0-0-48 ~]# aws ec2 allocate-address --domain vpc --output text
    eipalloc-4c4a2c45   vpc 35.169.153.122
  3. Introduzca el siguiente comando para ver la descripción del agente de recursos AWS Secondary Elastic IP Address (awseip). Esto muestra las opciones y las operaciones predeterminadas para este agente.

    # pcs resource describe awseip
  4. Cree el recurso de dirección IP elástica secundaria utilizando la dirección IP asignada creada en el paso 1.

    # pcs resource create elastic awseip elastic_ip=_Elastic-IP-Address_allocation_id=_Elastic-IP-Association-ID_ --group networking-group

    Ejemplo:

    # pcs resource create elastic awseip elastic_ip=35.169.153.122 allocation_id=eipalloc-4c4a2c45 --group networking-group

Paso de verificación

Introduzca el comando pcs status para verificar que el recurso se está ejecutando.

# estado de las pcs

Ejemplo:

[root@ip-10-0-0-58 ~]# pcs status
Cluster name: newcluster
Stack: corosync
Current DC: ip-10-0-0-58 (version 1.1.18-11.el7-2b07d5c5a9) - partition with quorum
Last updated: Mon Mar  5 16:27:55 2018
Last change: Mon Mar  5 15:57:51 2018 by root via cibadmin on ip-10-0-0-46

3 nodes configured
4 resources configured

Online: [ ip-10-0-0-46 ip-10-0-0-48 ip-10-0-0-58 ]

Full list of resources:

 clusterfence   (stonith:fence_aws):    Started ip-10-0-0-46
 Resource Group: networking-group
     privip (ocf::heartbeat:awsvip):  Started ip-10-0-0-48
     vip    (ocf::heartbeat:IPaddr2):    Started ip-10-0-0-48
     elastic (ocf::heartbeat:awseip):    Started ip-10-0-0-48

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Test the elastic IP address

Introduzca los siguientes comandos para verificar que los recursos de IP virtual (awsvip) e IP elástica (awseip) están funcionando.

Procedimiento

  1. Inicie una sesión SSH desde su estación de trabajo local a la dirección IP elástica creada anteriormente.

    $ ssh -l ec2-user -i ~/.ssh/<Nombre-Clave>.pem elastic-IP

    Ejemplo:

    $ ssh -l ec2-user -i ~/.ssh/cluster-admin.pem 35.169.153.122
  2. Comprueba que el host al que te has conectado vía SSH es el host asociado al recurso elástico creado.