前提
ローカルからkubectl
でポートフォワードして、GKEにリクエストを投げて確認を行っている
発生した問題
deployment のローリングアップデート前は問題なくポートフォワードを通してリクエストが返っていた。コードに変更を加えてGKE上でも確認をしたかったので、まずローカルで確認をして問題がなかった変更が、ローリングアップデート後ポートフォワード でGKE にリクエストを投げると curl: (52) Empty reply from server
と返ってくる。
TL; DRl;
- ポートフォワードはrolling update が終わったら貼り直そう。なぜなら、ポートフォワードの接続先はローリングアップデート前後で変化するため。
エラーメッセージ
curl でリクエストした際のメッセージ
Port foward の出力
まとめ
発生していた問題は、ローリングアップデートを行うと、ポートフォワードの接続先が変更され、その際にローリングアップデート前後でkubectl でのポートフォワードは固定されたままなのでリクエストはサーバーから返ってこないという説明するのも恥ずかしい問題でした。
理由は単純だけど、気づくのに時間がかかってしまった。k8s の動きを理解していないからこういうので時間を溶かしてしまった。反省