インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Ingress Controller)Podの停止中にリクエストをすると502,504,503で遷移する

Kubernetes

Ingress > Service > Podという通信経路にてPodを停止させると

<center><h1>502 Bad Gateway</h1></center>^M
<head><title>504 Gateway Time-out</title></head>^M
<head><title>503 Service Temporarily Unavailable</title></head>^M

という順でエラーになりました。

503に関しては想定通りで、後続のPodがいない場合は503となります。
そして502に関しては切り替わりタイミングで頻繁に起きるエラーで、ここはIngress Controllerの仕様。Kubernetes1.23では普通に起きうるので、どこかで標準的に救って欲しい...。

最後の504は以下のエラー。

504(Gateway Timeout)ステータスコードは、ゲートウェイまたはプロキシとして動作しているサーバーが、リクエストの完了のためにアクセスする必要のある上流サーバーから、適時に応答を受信できなかったことを示します。

これはかなり瞬間的に起きるものですが、502~503の間で起きる可能性があると覚えておきます。