為什么加入網格的pod停止時會有被調或者主調失敗的情況?
更新時間 2024-09-09 19:54:53
最近更新時間: 2024-09-09 19:54:53
分享文章
問題
加入到網格的pod會注入sidecar,當pod停止時可能會有當前pod正在處理中的請求或者當前pod調用外部的請求失敗。
原因分析
Pod注入sidecar之后,istio-proxy作為代理會攔截pod的入流量(外部請求當前pod)和出流量(當前pod請求外部),在pod停止時,istio-proxy也會在一段時間內退出,如果這段時間內存量的入和出方向的請求沒有處理完,則請求可能失敗。
解決方案
修改sidecar代理終止等待時長
- 進入服務網格控制臺,選擇 sidecar管理 –> sidecar代理配置。
- 選擇要配置的命名空間,根據業務需求調整sidecar代理終止等待時長。
修改sidecar生命周期管理策略
sidecar生命周期管理策略可以配置sidecar在啟動后或者停止前執行的一些操作,比如可以在pod停止后基于一些信號決定什么時候停止sidecar,保障業務請求都處理完成,配置步驟:
- 進入服務網格控制臺,選擇 sidecar管理 –> sidecar代理配置。
- 選擇要配置的命名空間,根據業務需求調整preStop和postStart配置。