0Pricing
DevOps Bootcamp · Aula

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.sock

Execute 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: lb01

Aguarde 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: localhost

Implante 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: lb01

Verifique 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: 3

Faç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: 1

Sempre 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

  1. Automatizando dispositivos de rede com cli_command
  2. delegate_to e run_once para orquestração
  3. Coordene camadas Web, de aplicação e DB
  4. Retirada e reativação do balanceador de carga
← Voltar para DevOps Bootcamp