Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Tài liệu này giải thích cách khởi động lại Bộ định tuyến và Bộ xử lý thông báo (MP) mà không ảnh hưởng đến lưu lượng truy cập API đến. Trong một số trường hợp, bạn có thể phải khởi động lại các Bộ định tuyến và MP. Sau đây là một số ví dụ:
- Khi một kho khoá được tham chiếu trực tiếp trong máy chủ ảo, máy chủ đích hoặc điểm cuối đích được cập nhật mà không sử dụng các giá trị tham chiếu.
- Khi các proxy API được triển khai một phần trên một số MP.
Trước khi bắt đầu
Nếu bạn chưa hiểu rõ về Bộ định tuyến và Trình xử lý thông báo, hãy đọc phần Tổng quan về Edge cho Đám mây riêng tư.
Khởi động lại Bộ định tuyến theo từng đợt mà không ảnh hưởng đến lưu lượng truy cập
Phần này mô tả các bước dùng để khởi động lại Bộ định tuyến mà không ảnh hưởng đến lưu lượng truy cập API đến.
- Đăng nhập vào Bộ định tuyến cần khởi động lại.
-
Chặn cổng kiểm tra tình trạng trên Bộ định tuyến bằng lệnh sau. Điều này đảm bảo rằng Bộ định tuyến được coi là không hoạt động và không có lưu lượng truy cập nào được định tuyến đến Bộ định tuyến này.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT -
Đợi hai phút để đảm bảo mọi lưu lượng truy cập đang diễn ra đều được xử lý suôn sẻ trước khi bạn khởi động lại Bộ định tuyến. Bạn có thể thực hiện việc này bằng cách chạy lệnh
sleepnhư sau:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Dừng dịch vụ Apigee Monit như sau:
apigee-service apigee-monit stop -
Dừng dịch vụ Apigee Router như sau:
apigee-service edge-router stop -
Khởi động dịch vụ Apigee Router như sau:
apigee-service edge-router start -
Chờ cho đến khi dịch vụ Apigee Router khởi động và sẵn sàng xử lý lưu lượng truy cập đến bằng lệnh sau:
apigee-service edge-router wait_for_ready -
Khởi động dịch vụ Apigee Monit như sau:
apigee-service apigee-monit start -
Xoá các bảng IP để bỏ chặn cổng kiểm tra tình trạng 15999 và cho phép Bộ định tuyến xử lý lại lưu lượng truy cập bằng cách chạy các lệnh sau:
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
Khởi động lại Trình xử lý tin nhắn mà không ảnh hưởng đến lưu lượng truy cập
Phần này mô tả các bước dùng để khởi động lại Trình xử lý thông báo (MP) mà không ảnh hưởng đến lưu lượng truy cập API đến.
- Đăng nhập vào Trình xử lý tin nhắn cần được khởi động lại.
-
Xác định cổng kiểm tra tình trạng của Trình xử lý thông báo bằng lệnh sau:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' -
Chặn cổng kiểm tra tình trạng (được xác định ở bước 2) trên Message Processor. Điều này đảm bảo rằng Message Processor được coi là không hoạt động và không có lưu lượng truy cập nào được định tuyến đến Message Processor này.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECTTrong đó, port # là số cổng được trả về từ lệnh đã thực hiện ở bước 2.
-
Chờ hai phút để đảm bảo mọi lưu lượng truy cập đang diễn ra đều được xử lý suôn sẻ trước khi bạn khởi động lại Trình xử lý thông báo. Bạn có thể thực hiện việc này bằng cách chạy lệnh
sleepnhư sau:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Dừng dịch vụ Apigee Monit như sau:
apigee-service apigee-monit stop -
Dừng dịch vụ Apigee Message Processor như sau:
apigee-service edge-message-processor stop - Khởi động dịch vụ Trình xử lý thông báo Apigee như sau:
apigee-service edge-message-processor start -
Chờ cho đến khi dịch vụ Apigee Message Processor được khởi động và sẵn sàng xử lý lưu lượng truy cập đến bằng lệnh sau:
apigee-service edge-message-processor wait_for_ready -
Khởi động dịch vụ Apigee Monit như sau:
apigee-service apigee-monit start - Xoá các bảng IP để bỏ chặn cổng kiểm tra tình trạng và cho phép Trình xử lý thông báo xử lý lại lưu lượng truy cập bằng cách chạy các lệnh bên dưới:
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
Trong đó, port # là số cổng được trả về từ lệnh đã thực hiện ở bước 2.