Yönlendiricileri ve Mesaj İşlemcilerini trafik etkisi olmadan yeniden başlatma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu belgede, gelen API trafiğini etkilemeden yönlendiricilerin ve mesaj işlemcilerin (MP'ler) nasıl yeniden başlatılacağı açıklanmaktadır. Belirli durumlarda yönlendiricileri ve MP'leri yeniden başlatmanız gerekebilir. Bazı örnekler:

  • Sanal ana makinede, hedef sunucuda veya hedef uç noktada doğrudan başvurulan bir anahtar deposu, referanslar kullanılmadan güncellendiğinde.
  • API proxy'leri birkaç MP'ye kısmen dağıtıldığında.

Başlamadan önce

Yönlendiriciler ve ileti işlemciler hakkında bilginiz yoksa Edge for Private Cloud'a genel bakış başlıklı makaleyi okuyun.

Trafik etkilenmeden yönlendiricilerin kademeli olarak yeniden başlatılması

Bu bölümde, gelen API trafiğini etkilemeden yönlendiricileri yeniden başlatmak için kullanılan adımlar açıklanmaktadır.

  1. Yeniden başlatılması gereken yönlendiricide oturum açın.
  2. Aşağıdaki komutu kullanarak yönlendiricide durum denetimi bağlantı noktasını engelleyin. Bu, yönlendiricinin sağlıksız kabul edilmesini ve bu yönlendiriciye trafik yönlendirilmemesini sağlar.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. Yönlendiriciyi yeniden başlatmadan önce, devam eden trafiğin sorunsuz bir şekilde işlenmesi için iki dakika bekleyin. Bu işlemi sleep komutunu aşağıdaki şekilde çalıştırarak yapabilirsiniz:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Apigee Monit hizmetini aşağıdaki şekilde durdurun:
    apigee-service apigee-monit stop
        
  5. Apigee yönlendirici hizmetini aşağıdaki şekilde durdurun:
    apigee-service edge-router stop
        
  6. Apigee Router hizmetini aşağıdaki şekilde başlatın:
    apigee-service edge-router start
        
  7. Aşağıdaki komutu kullanarak Apigee Router hizmetinin başlatılmasını ve gelen trafiği işlemeye hazır olmasını bekleyin:
    apigee-service edge-router wait_for_ready
        
  8. Apigee Monit hizmetini aşağıdaki gibi başlatın:
    apigee-service apigee-monit start
        
  9. Aşağıdaki komutları çalıştırarak durum denetimi bağlantı noktası 15999'un engellemesini kaldırmak ve yönlendiricinin trafiği tekrar işlemesine izin vermek için IP tablolarını temizleyin:
    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

Trafik etkilenmeden Mesaj İşleyicilerin kademeli olarak yeniden başlatılması

Bu bölümde, gelen API trafiğini etkilemeden mesaj işlemcileri (MP'ler) yeniden başlatmak için kullanılan adımlar açıklanmaktadır.

  1. Yeniden başlatılması gereken mesaj işlemcisine giriş yapın.
  2. Aşağıdaki komutu kullanarak Mesaj İşleyici'nin durum denetimi bağlantı noktasını belirleyin:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Durum denetimi bağlantı noktasını (2. adımda tanımlanmıştır) Mesaj İşleyici'de engelleyin. Bu işlem, Mesaj İşleyici'nin sağlıksız olarak kabul edilmesini ve bu Mesaj İşleyici'ye trafik yönlendirilmemesini sağlar.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    Burada port #, 2. adımda gerçekleştirilen komuttan döndürülen bağlantı noktası numarasıdır.

  4. Mesaj işlemcisini yeniden başlatmadan önce, devam eden trafiğin sorunsuz bir şekilde işlenmesi için iki dakika bekleyin. Bu işlemi sleep komutunu aşağıdaki şekilde çalıştırarak yapabilirsiniz:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Apigee Monit hizmetini aşağıdaki şekilde durdurun:
    apigee-service apigee-monit stop
        
  6. Apigee Mesaj İşleyici hizmetini aşağıdaki şekilde durdurun:
    apigee-service edge-message-processor stop
        
  7. Apigee Mesaj İşleyici hizmetini aşağıdaki şekilde başlatın:
    apigee-service edge-message-processor start
        
  8. Aşağıdaki komutu kullanarak Apigee Mesaj İşleyici hizmetinin başlatılmasını ve gelen trafiği işlemeye hazır olmasını bekleyin:
    apigee-service edge-message-processor wait_for_ready
        
  9. Apigee Monit hizmetini aşağıdaki gibi başlatın:
    apigee-service apigee-monit start
        
  10. Aşağıdaki komutları çalıştırarak durum denetimi bağlantı noktasının engellemesini kaldırmak ve Mesaj İşleyici'nin trafiği tekrar işlemesine izin vermek için IP tablolarını boşaltın:
    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

Burada port #, 2. adımda gerçekleştirilen komuttan döndürülen bağlantı noktası numarasıdır.