Khởi động lại bộ định tuyến và bộ xử lý thông báo mà không gây ảnh hưởng đến lưu lượng

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ông báo (MP) mà không ảnh hưởng đến lưu lượng truy cập đến API. Trong một số trường hợp, bạn có thể phải khởi động lại Bộ định tuyến và MP3. 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 sẽ được cập nhật mà không cần sử dụng các tệp tham chiếu.
  • Khi 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à Bộ xử lý thư, hãy đọc bài viết Tổng quan về Edge cho Đám mây riêng tư.

Khởi động lại ngẫu nhiên Bộ định tuyến mà không ảnh hưởng đến lưu lượ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 sắp tới.

  1. Đăng nhập vào Bộ định tuyến cần khởi động lại.
  2. 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 xem là không trong tình trạng an toàn 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
        
  3. Chờ 2 phút để đảm bảo rằng 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 sleep như sau:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. Ngừng dịch vụ Apigee Monit như sau:
    apigee-service apigee-monit stop
        
  5. Dừng dịch vụ Bộ định tuyến Apigee theo cách sau:
    apigee-service edge-router stop
        
  6. Khởi động dịch vụ Bộ định tuyến Apigee như sau:
    apigee-service edge-router start
        
  7. Chờ cho đến khi dịch vụ Bộ định tuyến Apigee bắt đầu 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
        
  8. Bắt đầu dịch vụ Apigee Monit như sau:
    apigee-service apigee-monit start
        
  9. 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 lần lượt Bộ xử lý thư 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ộ xử lý thông báo (MP) mà không ảnh hưởng đến lưu lượng truy cập API gửi đến.

  1. Đăng nhập vào Bộ xử lý thư cần khởi động lại.
  2. Xác định cổng kiểm tra tình trạng của Bộ 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")'
        
  3. Chặn cổng kiểm tra tình trạng (đã xác định ở bước 2) trên Bộ xử lý tin nhắn. Việc này giúp đảm bảo rằng Trình xử lý thông báo được xem là không trong tình trạng an toàn và sẽ không có lưu lượng truy cập nào được định tuyến đến Trình xử lý thông báo này.
    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.

  4. Hãy chờ 2 phút để đảm bảo rằng mọi lưu lượng truy cập đang truyền đều được xử lý suôn sẻ trước khi bạn khởi động lại Bộ 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 sleep như sau:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. Ngừng dịch vụ Apigee Monit như sau:
    apigee-service apigee-monit stop
        
  6. Dừng dịch vụ Trình xử lý tin nhắn Apigee như sau:
    apigee-service edge-message-processor stop
        
  7. Tiến hành dịch vụ Trình xử lý thông báo Apigee như sau:
    apigee-service edge-message-processor start
        
  8. Chờ cho đến khi dịch vụ Trình xử lý thông báo Apigee bắt đầu và sẵn sàng xử lý lưu lượng truy cập gửi đến bằng lệnh sau:
    apigee-service edge-message-processor wait_for_ready
        
  9. Bắt đầu dịch vụ Apigee Monit như sau:
    apigee-service apigee-monit start
        
  10. 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 được thực hiện ở bước 2.