Como reiniciar roteadores e processadores de mensagens sem impacto no tráfego

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Este documento explica como reiniciar roteadores e processadores de mensagens (MPs) sem afetar tráfego de entrada da API. Pode ser necessário reiniciar os roteadores e MPs em determinadas circunstâncias. Veja alguns exemplos:

  • Quando um keystore que faz referência direta ao host virtual, servidor ou servidor de destino endpoint é atualizado sem usar referências.
  • Quando os proxies de API são parcialmente implantados em alguns MPs.

Antes de começar

Se você não conhece roteadores e processadores de mensagens, leia Visão geral do Edge for Private Cloud (em inglês).

Reinicialização contínua de roteadores sem impacto no tráfego

Esta seção descreve as etapas usadas para reiniciar os roteadores sem afetar o tráfego de entrada da API.

  1. Faça login no roteador que precisa ser reiniciado.
  2. Bloqueie a porta de verificação de integridade no roteador com o comando a seguir. Isso garante que o roteador é considerado não íntegro e nenhum tráfego será roteado para ele.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. Aguarde dois minutos para garantir que o tráfego em andamento seja processado sem problemas antes de reinicie o roteador. Para isso, execute o comando sleep da seguinte maneira:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Interrompa o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit stop
        
  5. Interrompa o serviço de roteador da Apigee da seguinte maneira:
    apigee-service edge-router stop
        
  6. Inicie o serviço do roteador da Apigee da seguinte maneira:
    apigee-service edge-router start
        
  7. Aguarde até que o serviço de roteador da Apigee seja iniciado e esteja pronto para processar o tráfego de entrada usando o seguinte comando:
    apigee-service edge-router wait_for_ready
        
  8. Inicie o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit start
        
  9. Limpe as tabelas de IP para desbloquear a porta de verificação de integridade 15999 e permitir que o roteador lide com o tráfego novamente executando os seguintes comandos:
    sudo iptables -F
    sudo iptables -L
        
.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-router stop
apigee-service edge-router start
apigee-service edge-router wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

Reinicialização contínua de processadores de mensagens sem impacto no tráfego

Esta seção descreve as etapas usadas para reiniciar os processadores de mensagens (MPs) sem o tráfego de entrada da API.

  1. Faça login no processador de mensagens que precisa ser reiniciado.
  2. Identifique a porta de verificação de integridade do processador de mensagens usando o seguinte comando:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Bloqueie a porta de verificação de integridade (identificada na etapa 2) no processador de mensagens. Isso garante que o processador de mensagens é considerado não íntegro e que nenhum tráfego será roteado Processador de mensagens
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    Em que port # é o número da porta retornado pelo comando executado na etapa 2.

  4. Aguarde dois minutos para garantir que o tráfego em andamento seja processado sem problemas antes de reinicie o processador de mensagens. Para isso, execute o comando sleep da seguinte maneira:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Interrompa o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit stop
        
  6. Interrompa o serviço do processador de mensagens da Apigee da seguinte maneira:
    apigee-service edge-message-processor stop
        
  7. Instale o serviço Processador de mensagens da Apigee da seguinte maneira:
    apigee-service edge-message-processor start
        
  8. Aguarde até que o serviço Processador de mensagens da Apigee seja iniciado e esteja pronto para processar o o tráfego de entrada usando o seguinte comando:
    apigee-service edge-message-processor wait_for_ready
        
  9. Inicie o serviço Apigee Monit da seguinte maneira:
    apigee-service apigee-monit start
        
  10. Limpe as tabelas de IP para desbloquear a porta de verificação de integridade e permitir o processador de mensagens para processar o tráfego novamente executando os comandos abaixo:
    sudo iptables -F
    sudo iptables -L
        
.
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'

sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-message-processor stop
apigee-service edge-message-processor start
apigee-service edge-message-processor wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

Em que port # é o número da porta retornado pelo comando executado na etapa 2.