Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về 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ư (MP) mà không ảnh hưởng đến lưu lượng truy cập API đến. Bạn có thể phải khởi động lại Bộ định tuyến và MP trong một số trường hợp. Một số ví dụ như sau:
- Khi một kho khoá được tham chiếu trực tiếp trong máy chủ lưu trữ ảo, máy chủ mục tiêu hoặc mục tiêu được cập nhật mà không sử dụng tệp tham chiếu.
- Khi proxy API được triển khai một phần trên một vài MP.
Trước khi bắt đầu
Nếu bạn chưa quen với Bộ định tuyến và Bộ xử lý thư, hãy đọc Tổng quan về Edge for Private Cloud.
Khởi động lại Bộ định tuyến đang chạy mà không ảnh hưởng đến giao thông
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 được 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 giúp đảm bảo rằng
Bộ định tuyến được xem là không tốt và sẽ 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
-
Chờ 2 phút để đảm bảo mọi lưu lượng trên máy bay đề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
sleep
như sau:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Ngừng dịch vụ Apigee Monit như sau:
apigee-service apigee-monit stop
-
Bạn có thể dừng dịch vụ Bộ định tuyến Apigee như sau:
apigee-service edge-router stop
-
Khởi động dịch vụ Bộ định tuyến Apigee như sau:
apigee-service edge-router start
-
Chờ cho đến khi dịch vụ Bộ định tuyến Apigee 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ư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 được dùng để khởi động lại Trình xử lý thư (MP) mà không cần ảnh hưởng đến lưu lượng truy cập API sắp tới.
- Đăng nhập vào Trình xử lý thư 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ư bằng cách sử dụ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 Bộ xử lý tin nhắn. Điều này giúp đảm bảo
Trình xử lý thư được coi là không tốt và sẽ không có lưu lượng truy cập nào được định tuyến đến
Trình xử lý tin nhắn.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
Trong đó port # là số cổng được trả về từ lệnh được thực hiện ở bước 2.
-
Chờ 2 phút để đảm bảo mọi lưu lượng trên máy bay đều được xử lý suôn sẻ trước khi bạn
khởi động lại Trình xử lý tin nhắn. Bạn có thể thực hiện việc này bằng cách chạy lệnh
sleep
như sau:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Ngừng dịch vụ Apigee Monit như sau:
apigee-service apigee-monit stop
-
Dừng dịch vụ Trình xử lý tin nhắn của Apigee như sau:
apigee-service edge-message-processor stop
- Chỉnh sửa dịch vụ Trình xử lý tin nhắn của Apigee như sau:
apigee-service edge-message-processor start
-
Chờ cho đến khi dịch vụ Trình xử lý tin nhắn của Apigee 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ý tin nhắn
để xử lý lại lưu lượng truy cập bằng cách chạy các lệnh dưới đây:
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 được thực hiện ở bước 2.