Retirada e reativação do balanceador de carga
Remova nós e coloque-os de volta com segurança.
Retirada e reativação do balanceador de carga é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Atualizar o tráfego ativo é arriscado
Se o senhor corrigir um servidor enquanto os usuários o acessam, as solicitações falharão. A solução é drenar o nó do balanceador de carga primeiro. 🚦
O que significa drenar
Drenar um nó significa parar de enviar tráfego novo para ele enquanto se permite que as solicitações em andamento sejam concluídas. Depois disso, é seguro atualizá-lo.
O ciclo drenar, atualizar e reativar
O padrão seguro tem três etapas: drenar o nó, implantar a alteração e, em seguida, reativá-lo no balanceador de carga.
Desative um nó no HAProxy
O módulo community.general.haproxy define um nó do backend como desativado, instruindo o HAProxy a parar de encaminhar tráfego para ele.
- name: Drain web node
community.general.haproxy:
state: disabled
host: "{{ inventory_hostname }}"
socket: /var/run/haproxy.sockExecute a tarefa do LB a partir do LB
O socket do HAProxy fica no balanceador de carga; por isso, use delegate_to para o servidor LB, continuando a identificar o nó web que está sendo drenado.
delegate_to: lb01Aguarde as conexões serem drenadas
Dê tempo para que as solicitações ativas sejam concluídas. Use wait_for ou uma breve pausa para não interromper os usuários no meio de uma solicitação.
- name: Let traffic drain
ansible.builtin.wait_for:
timeout: 30
delegate_to: localhostImplante com segurança agora
Com o nó fora da rotação, execute suas tarefas de atualização: instale pacotes, envie a configuração e reinicie a aplicação. Nenhum tráfego ativo será afetado. 🔧
Reative o nó
Após a atualização, defina o nó novamente como ativado para que o HAProxy volte a encaminhar tráfego para o servidor recém-implantado.
- name: Re-enable web node
community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
socket: /var/run/haproxy.sock
delegate_to: lb01Verifique a integridade antes de reativar
Confirme que a aplicação está realmente ativa antes de adicioná-la novamente. Um wait_for ou uma verificação uri no endpoint de integridade evita servir um nó com problemas.
- ansible.builtin.uri:
url: http://localhost:8080/health
status_code: 200
retries: 5
delay: 3Faça um nó por vez
Combine este ciclo com serial para que apenas um ou dois nós sejam drenados por vez. Os demais continuam atendendo, proporcionando tempo de inatividade zero.
- hosts: web
serial: 1Sempre reative, mesmo em caso de falha
Envolva a implantação em um block com always para que uma atualização com falha ainda coloque o nó de volta na rotação, em vez de deixá-lo isolado.
Verificação rápida
Verifique o padrão de implantação segura.
Recapitulação
Para obter tempo de inatividade zero, drene um nó, faça a implantação, verifique a integridade e reative-o, um nó por vez, usando serial e um bloco always. ✅
Perguntas Frequentes
A aula “Retirada e reativação do balanceador de carga” é grátis?
Sim — o texto completo de “Retirada e reativação do balanceador de carga” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Retirada e reativação do balanceador de carga”?
Remova nós e coloque-os de volta com segurança. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Retirada e reativação do balanceador de carga”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Automatizando dispositivos de rede com cli_command
- delegate_to e run_once para orquestração
- Coordene camadas Web, de aplicação e DB
- Retirada e reativação do balanceador de carga