おひとり

できる限りひとりで楽しむための情報やプログラミング情報など。

helm installに失敗する:Request entity too large

TL;DR

chartの中に大きいファイルがある可能性があるので、それを移動させる。

再現と解決方法

とあるプロジェクトにて、以下のコマンドでhelm installを行いました。

helm install <ReleaseName> .

しかし、数分何も結果が返ってこず、返ってきたと思ったら以下のエラーが表示されました。
※そもそも数分なにも結果が返ってこなくて、何かおかしいと思って何度もkillした。

Error: INSTALLATION FAILED: create: failed to create: Request entity too large: limit is 3145728

結果は大きいファイルがあったことです。
そのファイルを移動したら無事にhelm installできました。

背景

大きいファイルというのは、docker saveしたimageです。
以下のような状況でした。

  • 検証用だったのでminikube上へのデプロイだった
  • minikube上のdockerにimageを追加する必要があった
  • リモートのcontainer registoryにアップロードしていなかった

そのため、ホスト上のdocker imageをminikube上のdockerに移管する必要がありました。
また、そのプロジェクトの中にはどうしても削減できない大きいimageがあり、buildすると時間がかかるという問題がありました。
そこでdocker saveしたtarをloadする、、、という方法をとった訳ですね。(もしかしたらもっと良い方法があるかも。)

結果として、saveしたtarをchartの中に置きっぱなしにしていたため、今回のエラーが発生したということでした。