私有雲 4.19.01 版本
建議您在維護期間 (例如伺服器重新啟動或升級) 停用伺服器的可連性。停用這項功能時,系統不會將任何流量導向伺服器。舉例來說,如果您停用訊息處理器的可連性,路由器就不會將任何流量導向該訊息處理工具。
以升級訊息處理器時,您可以使用下列程序:
- 停用訊息處理器的可連性。
- 升級訊息處理工具。
- 啟用訊息處理器的可連性。
停用/啟用訊息處理器的可連性
如要停用訊息處理工具的可連性,您可以直接停止訊息處理工具:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
訊息處理工具會先關閉所有待處理的訊息,然後再關閉。系統會將所有新要求轉送至其他可用的訊息處理工具。
如要重新啟動「訊息處理工具」,請使用下列指令:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
wait_for_ready
指令會在訊息處理工具準備好處理訊息時傳回下列訊息:
Checking if message-processor is up: message-processor is up.
停用/啟用路由器的可連性
在實際工作環境中,您通常可以在邊緣路由器之前建立負載平衡器。負載平衡器會監控路由器上的通訊埠 15999,確保提供路徑。
請使用下列網址將負載平衡器設定為在 HTTP 或 TCP 健康狀態檢查:
http://router_IP:15999/v1/servers/self/reachable
如果路由器可連線,這個網址會傳回 HTTP 200 回應代碼。
為使路由器無法連線,您可以封鎖路由器上的通訊埠 15999。如果負載平衡器無法存取通訊埠 15999 上的路由器,就不會再將要求轉送至路由器。舉例來說,您可以使用路由器節點上的 iptables 指令封鎖通訊埠:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
日後如要使用路由器,請清除 IP 位址:
sudo iptables -F
您可能使用 iptable 管理節點中的其他通訊埠,因此在清除 iptable 或使用 iptable 封鎖通訊埠 15999 時,您必須考量到這一點。如果您將 iptable 用於其他規則,可以使用 -D 選項撤銷特定變更:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
檢查路由器或訊息處理器的狀態
如要取得路由器的狀態,請向路由器上的通訊埠 8081 提出要求:
curl -v http://router_IP:8081/v1/servers/self/up
如果路由器已啟動,回應會在 HTTP 和 200 中傳回「true」。請注意,這項呼叫只會檢查路由器是否已啟動並正常運作。路由器的可連性是否由負載平衡器控管,取決於通訊埠 15999。
如何取得訊息處理器狀態:
curl http://Message_Processor_IP:8082/v1/servers/self/up