Riavvio di router e processori di messaggi senza impatto sul traffico

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Questo documento spiega come riavviare router e Message Processor (MP) senza influire sul traffico API in entrata. Potresti dover riavviare i router e gli MP in determinate circostanze. Ecco alcuni esempi:

  • Quando un keystore a cui si fa riferimento direttamente nell'host virtuale, nel server di destinazione o nell'endpoint di destinazione viene aggiornato senza utilizzare i riferimenti.
  • Quando i proxy API vengono sottoposti a deployment parziale su alcuni MP.

Prima di iniziare

Se non hai familiarità con i router e i Message Processor, leggi la panoramica di Edge per Private Cloud.

Riavvio graduale dei router senza impatto sul traffico

Questa sezione descrive i passaggi utilizzati per riavviare i router senza influire sul traffico API in entrata.

  1. Accedi al router che deve essere riavviato.
  2. Blocca la porta del controllo di integrità sul router utilizzando il seguente comando. In questo modo, il router viene considerato non integro e nessun traffico verrà instradato a questo router.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. Attendi due minuti per assicurarti che il traffico in transito venga gestito senza problemi prima di riavviare il router. Puoi farlo eseguendo il comando sleep come segue:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Arresta il servizio Apigee Monit come segue:
    apigee-service apigee-monit stop
        
  5. Arresta il servizio router Apigee come segue:
    apigee-service edge-router stop
        
  6. Avvia il servizio router Apigee come segue:
    apigee-service edge-router start
        
  7. Attendi l'avvio del servizio router Apigee e che sia pronto a gestire il traffico in entrata utilizzando il seguente comando:
    apigee-service edge-router wait_for_ready
        
  8. Avvia il servizio Apigee Monit come segue:
    apigee-service apigee-monit start
        
  9. Svuota le tabelle IP per sbloccare la porta del controllo di integrità 15999 e consentire al router di gestire il traffico di nuovo eseguendo i seguenti comandi:
    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

Riavvio graduale dei Message Processor senza impatto sul traffico

Questa sezione descrive i passaggi utilizzati per riavviare i Message Processor (MP) senza influire sul traffico API in entrata.

  1. Accedi al processore di messaggi che deve essere riavviato.
  2. Identifica la porta del controllo di integrità del processore di messaggi utilizzando il seguente comando:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Blocca la porta del controllo di integrità (identificata nel passaggio 2) sul processore di messaggi. In questo modo, il processore di messaggi viene considerato non integro e nessun traffico verrà instradato a questo processore di messaggi.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    Dove port # è il numero di porta restituito dal comando eseguito nel passaggio 2.

  4. Attendi due minuti per assicurarti che il traffico in transito venga gestito senza problemi prima di riavviare il processore di messaggi. Puoi farlo eseguendo il comando sleep come segue:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Arresta il servizio Apigee Monit come segue:
    apigee-service apigee-monit stop
        
  6. Arresta il servizio processore di messaggi Apigee come segue:
    apigee-service edge-message-processor stop
        
  7. Avvia il servizio processore di messaggi Apigee come segue:
    apigee-service edge-message-processor start
        
  8. Attendi l'avvio del servizio processore di messaggi Apigee e che sia pronto a gestire il traffico in entrata utilizzando il seguente comando:
    apigee-service edge-message-processor wait_for_ready
        
  9. Avvia il servizio Apigee Monit come segue:
    apigee-service apigee-monit start
        
  10. Svuota le tabelle IP per sbloccare la porta del controllo di integrità e consentire al Message Processor di gestire di nuovo il traffico eseguendo i seguenti comandi:
    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

Dove port # è il numero di porta restituito dal comando eseguito nel passaggio 2.