Red Hat Training

A Red Hat training course is available for RHEL 8

4.10. Instalação de agentes de recursos de rede

Para que as operações HA funcionem, o cluster utiliza agentes de recursos de rede AWS para permitir a funcionalidade de failover. Se um nó não responder a uma verificação de batimento cardíaco em um determinado período de tempo, o nó é cercado e as operações falham para um nó adicional no cluster. Os agentes de recursos de rede precisam ser configurados para que isso funcione.

Acrescentar os dois recursos ao mesmo grupo para fazer cumprir as restrições de order e colocation.

Create a secondary private IP resource and virtual IP resource

Complete o seguinte procedimento para adicionar um endereço IP privado secundário e criar um IP virtual. Você pode completar este procedimento a partir de qualquer nó do cluster.

Procedimento

  1. Digite o seguinte comando para ver a descrição do agente de recursos (awsvip) AWS Secondary Private IP Address. Isto mostra as opções e operações padrão para este agente.

    # pcs resource descrever awsvip
  2. Digite o seguinte comando para criar o endereço IP privado secundário usando um endereço IP privado não utilizado no bloco VPC CIDR.

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

    Exemplo:

    [root@ip-10-0-0-48 ~]# pcs resource create privip awsvip secondary_private_ip=10.0.0.68 --group networking-group
  3. Criar um recurso IP virtual. Este é um endereço IP VPC que pode ser rapidamente refazido do nó cercado para o nó de failover, mascarando a falha do nó cercado dentro da sub-rede.

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

    Exemplo:

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

Etapa de verificação

Digite o comando pcs status para verificar se os recursos estão funcionando.

# pcs status

Exemplo:

[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

Um endereço IP elástico é um endereço IP público que pode ser rapidamente refazido do nó cercado para o nó de falha, mascarando a falha do nó cercado.

Note que isto é diferente do recurso de PI virtual criado anteriormente. O endereço IP elástico é usado para conexões de Internet voltadas para o público, ao invés de conexões de sub-rede.

  1. Acrescentar os dois recursos ao mesmo grupo que foi criado anteriormente para fazer cumprir as restrições de order e colocation.
  2. Digite o seguinte comando AWS CLI para criar um endereço IP elástico.

    [root@ip-10-0-0-48 ~]# aws ec2 allocate-address --domain vpc --output text
    eipalloc-4c4a2c45   vpc 35.169.153.122
  3. Digite o seguinte comando para ver a descrição do agente de recursos de endereço IP secundário elástico AWS (awseip). Isto mostra as opções e operações padrão para este agente.

    # pcs resource descrever awseip
  4. Criar o recurso de endereço IP secundário elástico utilizando o endereço IP alocado criado na Etapa 1.

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

    Exemplo:

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

Etapa de verificação

Digite o comando pcs status para verificar se o recurso está funcionando.

# pcs status

Exemplo:

[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

Digite os seguintes comandos para verificar se os recursos de IP virtual (awsvip) e de IP elástico (awseip) estão funcionando.

Procedimento

  1. Lance uma sessão SSH de sua estação de trabalho local para o endereço IP elástico previamente criado.

    $ ssh -l ec2-user -i ~/.ssh/<KeyName>.pem elástico-IP

    Exemplo:

    $ ssh -l ec2-user -i ~/.ssh/cluster-admin.pem 35.169.153.122
  2. Verifique se o host ao qual você se conectou via SSH é o host associado com o recurso elástico criado.