Tenho o haproxy em execução como meu balanceador de carga e, a partir da interface da web de estatísticas que vem com o haproxy, posso colocar um servidor da web em modo de manutenção (e trazê-lo de volta novamente) - o que é ótimo!
No entanto, também quero poder executar a mesma ação na linha de comando (para uso em alguns fluxos de trabalho de implantação automatizada). Isso é possível e, em caso afirmativo, como?
Muito Obrigado
fonte
socat /var/run/haproxy.stat stdio
para cada comando únicoSe você tiver apenas acesso ao netcat (
nc
), poderá usá-lo para interagir com o arquivo de soquete do HAProxy de maneira semelhante asocat
.Para desativar um servidor:
Tome cuidado para garantir que o arquivo de soquete tenha o nível de acesso apropriado para executar o procedimento acima. Principalmente algo parecido com isto:
Caso contrário, você receberá erros de permissão negada:
Referências
fonte
O caminho mais fácil é:
1 - Configure seu servidor da web para retornar o código 503 se existir um arquivo chamado maintenance.html (por exemplo). Com o apache, você pode fazer o seguinte:
2 - Configure seu back-end haproxy para verificar uma URL em vez de apenas verificar uma porta da seguinte maneira:
3 - Reinicie o servidor da web e o balanceador de carga.
4 - Coloque seu servidor web em modo de manutenção.
5 - Remova o servidor da Web do modo de manutenção.
fonte
Você também pode "remover" temporariamente a página de verificação de integridade de um servidor, para baixar o terminal e publicar seu aplicativo.
fonte
Se você possui o debian, o readline não funciona, o netcat é uma opção melhor para o interativo:
Não interativo:
fonte