Extraia graciosamente um servidor do Balanceador de carga do Azure (parada de drenagem)

7

Temos um aplicativo implantado em VMs IaaS do Azure, veiculado pelo IIS. Para instalar atualizações, precisamos tirar cada máquina do balanceador de carga, uma por uma. Antes de mudar para o Azure, estávamos usando o NLB da Microsoft, que tem a função de DRAIN STOP um nó - não enviando novas conexões, mas mantendo as conexões existentes abertas até que sejam concluídas. Como podemos alcançar o mesmo com o Azure LB?

    
por nulldotzero 28.04.2015 / 12:15

2 respostas

11

A maneira recomendada de fazer isso é ter um probe de integridade personalizado em seu conjunto de balanceamento de carga. Por exemplo, você poderia ter uma simples healthcheck.html página em cada uma de suas VMs (em wwwroot, por exemplo) e direcionar a análise de seu conjunto de balanceamento de carga para essa página. Contanto que o probe possa recuperar essa página (HTTP 200), o balanceador de carga do Azure continuará enviando solicitações do usuário à VM.

Quando você precisar atualizar uma VM, basta renomear o healthcheck.html para um nome diferente, como _healthcheck.html . Isso fará com que o probe comece a receber erros HTTP 404 e retirará essa máquina da rotação de balanceamento de carga porque ela não está obtendo o HTTP 200. As conexões existentes continuarão a ser atendidas, mas o Azure LB deixará de enviar novo solicitações para a VM.

Após a conclusão das atualizações na VM, renomeie _healthcheck.html de volta para healthcheck.html . O probe Azure LB começará a receber respostas HTTP 200 e, como resultado, começará a enviar solicitações para essa VM novamente.

Repita isso para cada VM no conjunto de balanceamento de carga.

    
por 01.05.2015 / 17:35
1

Na sua documentação , a Microsoft recomenda usar um grupo de segurança para bloquear explicitamente a sonda de integridade. Todos os probes de integridade do Azure Load Balancer serão fornecidos a partir de 168.63.129.16 .

Um exemplo seria usar uma regra NSG de entrada para negar 168.63.129.16 ao destino da NIC da VM que você deseja remover do pool.

    
por 09.08.2018 / 23:38