Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Dokumen ini menjelaskan cara memulai ulang Router dan Message Processor (MP) tanpa memengaruhi traffic API masuk. Anda mungkin harus memulai ulang Router dan MP dalam keadaan tertentu. Beberapa contohnya adalah sebagai berikut:
- Saat keystore yang langsung dirujuk di host virtual, server target, atau endpoint target diperbarui tanpa menggunakan referensi.
- Saat proxy API di-deploy sebagian di beberapa MP.
Sebelum memulai
Jika Anda belum memahami Router dan Message Processor, baca Ringkasan Edge untuk Private Cloud.
Memulai ulang Router secara bertahap tanpa memengaruhi traffic
Bagian ini menjelaskan langkah-langkah yang digunakan untuk memulai ulang Router tanpa memengaruhi traffic API masuk.
- Login ke Router yang perlu dimulai ulang.
-
Blokir port health check di Router menggunakan perintah berikut. Tindakan ini memastikan bahwa
Router dianggap tidak sehat dan tidak ada traffic yang akan dirutekan ke Router ini.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT -
Tunggu selama dua menit untuk memastikan bahwa traffic yang sedang berlangsung ditangani dengan lancar sebelum Anda
memulai ulang Router. Anda dapat melakukannya dengan menjalankan perintah
sleepsebagai berikut:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Hentikan layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit stop -
Hentikan layanan Router Apigee sebagai berikut:
apigee-service edge-router stop -
Mulai layanan Router Apigee sebagai berikut:
apigee-service edge-router start -
Tunggu hingga layanan Router Apigee dimulai dan siap menangani traffic masuk
menggunakan perintah berikut:
apigee-service edge-router wait_for_ready -
Mulai layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit start -
Lakukan flush tabel IP untuk berhenti memblokir port health check 15999 dan mengizinkan Router menangani traffic lagi dengan menjalankan perintah berikut:
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
Memulai ulang Message Processor secara bertahap tanpa memengaruhi traffic
Bagian ini menjelaskan langkah-langkah yang digunakan untuk memulai ulang Message Processor (MP) tanpa memengaruhi traffic API masuk.
- Login ke Message Processor yang perlu dimulai ulang.
-
Identifikasi port health check Message Processor menggunakan perintah berikut:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' -
Blokir port health check (diidentifikasi di langkah 2) di Message Processor. Tindakan ini memastikan
bahwa Message Processor dianggap tidak sehat dan tidak ada traffic yang akan dirutekan ke
Message Processor ini.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECTDengan port # adalah nomor port yang ditampilkan dari perintah yang dilakukan pada langkah 2.
-
Tunggu selama dua menit untuk memastikan bahwa traffic yang sedang berlangsung ditangani dengan lancar sebelum Anda
memulai ulang Message Processor. Anda dapat melakukannya dengan menjalankan perintah
sleepsebagai berikut:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Hentikan layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit stop -
Hentikan layanan Message Processor Apigee sebagai berikut:
apigee-service edge-message-processor stop - Mulai layanan Message Processor Apigee sebagai berikut:
apigee-service edge-message-processor start -
Tunggu hingga layanan Message Processor Apigee dimulai dan siap menangani
traffic masuk menggunakan perintah berikut:
apigee-service edge-message-processor wait_for_ready -
Mulai layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit start - Hapus tabel IP untuk membatalkan pemblokiran port health check dan mengizinkan Message Processor
menangani traffic lagi dengan menjalankan perintah di bawah:
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
Dengan port # adalah nomor port yang ditampilkan dari perintah yang dilakukan pada langkah 2.