您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
本文档介绍了如何在不影响 传入 API 流量的情况下重启路由器和消息处理器 (MP)。在某些情况下,您可能需要重启路由器和 MP。 以下是一些示例:
- 当直接在虚拟主机、目标服务器或目标 端点中引用的密钥库在不使用引用的情况下更新时。
- 当 API 代理部分部署在一些 MP 上时。
准备工作
如果您不熟悉路由器和消息处理器,请参阅 Edge for Private Cloud 概览。
在不影响流量的情况下滚动重启路由器
本部分介绍了在不影响传入 API 流量的情况下重启路由器所用的步骤。
- 登录到需要重启的路由器。
-
使用以下命令屏蔽路由器上的健康检查端口。这样可确保
路由器被视为不健康,并且不会有流量路由到此路由器。
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT -
等待两分钟,确保在重启路由器之前顺利处理所有正在传输的流量。
重启路由器。您可以通过运行
sleep命令来执行此操作,如下所示:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
按如下方式停止 Apigee Monit 服务:
apigee-service apigee-monit stop -
按如下方式停止 Apigee 路由器服务:
apigee-service edge-router stop -
按如下方式启动 Apigee 路由器服务:
apigee-service edge-router start -
等待 Apigee 路由器服务启动并准备好使用以下命令处理传入流量:
apigee-service edge-router wait_for_ready -
按如下方式启动 Apigee Monit 服务:
apigee-service apigee-monit start -
刷新 IP 表以取消屏蔽健康检查端口 15999,并允许路由器通过运行以下命令再次处理流量:
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
在不影响流量的情况下滚动重启消息处理器
本部分介绍了在不影响传入 API 流量的情况下重启消息处理器 (MP) 所用的步骤。
- 登录到需要重启的消息处理器。
-
使用以下命令确定消息处理器的健康检查端口:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' -
屏蔽消息处理器上的健康检查端口(在第 2 步中确定)。这样可确保消息处理器被视为不健康,并且不会有流量路由到此
消息处理器。
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT其中,port # 是第 2 步中执行的命令返回的端口号。
-
等待两分钟,确保在重启消息处理器之前顺利处理所有正在传输的流量。
您可以通过运行
sleep命令来执行此操作,如下所示:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
按如下方式停止 Apigee Monit 服务:
apigee-service apigee-monit stop -
按如下方式停止 Apigee 消息处理器服务:
apigee-service edge-message-processor stop - 按如下方式启动 Apigee 消息处理器服务:
apigee-service edge-message-processor start -
等待 Apigee 消息处理器服务启动并准备好使用以下命令处理传入流量:
apigee-service edge-message-processor wait_for_ready -
按如下方式启动 Apigee Monit 服务:
apigee-service apigee-monit start - 刷新 IP 表以取消屏蔽健康检查端口,并允许消息处理器
处理流量,方法是再次运行以下命令:
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
其中,port # 是第 2 步中执行的命令返回的端口号。