web-dev-qa-db-ja.com

Kubernetesポッドが終了しました-終了コード137

私がk8s 1.14で直面しているgitlabパイプラインを実行している問題についてアドバイスが必要です。多くのジョブが終了コード137エラーをスローしており、コンテナーが突然終了していることを意味していることがわかりました。


クラスター情報:

Kubernetesバージョン:1.14使用中のクラウド:AWS EKSノード:C5.4xLarge


調べたところ、以下のログが見つかりました。

**kubelet: I0114 03:37:08.639450**  4721 image_gc_manager.go:300] [imageGCManager]: Disk usage on image filesystem is at 95% which is over the high threshold (85%). Trying to free 3022784921 bytes down to the low threshold (80%).

**kubelet: E0114 03:37:08.653132**  4721 kubelet.go:1282] Image garbage collection failed once. Stats initialization may not have completed yet: failed to garbage collect required amount of images. Wanted to free 3022784921 bytes, but freed 0 bytes

**kubelet: W0114 03:37:23.240990**  4721 eviction_manager.go:397] eviction manager: timed out waiting for pods runner-u4zrz1by-project-12123209-concurrent-4zz892_gitlab-managed-apps(d9331870-367e-11ea-b638-0673fa95f662) to be cleaned up

**kubelet: W0114 00:15:51.106881**   4781 eviction_manager.go:333] eviction manager: attempting to reclaim ephemeral-storage

**kubelet: I0114 00:15:51.106907**   4781 container_gc.go:85] attempting to delete unused containers

**kubelet: I0114 00:15:51.116286**   4781 image_gc_manager.go:317] attempting to delete unused images

**kubelet: I0114 00:15:51.130499**   4781 eviction_manager.go:344] eviction manager: must evict pod(s) to reclaim ephemeral-storage 

**kubelet: I0114 00:15:51.130648**   4781 eviction_manager.go:362] eviction manager: pods ranked for eviction:

 1. runner-u4zrz1by-project-10310692-concurrent-1mqrmt_gitlab-managed-apps(d16238f0-3661-11ea-b638-0673fa95f662)
 2. runner-u4zrz1by-project-10310692-concurrent-0hnnlm_gitlab-managed-apps(d1017c51-3661-11ea-b638-0673fa95f662)

 3. runner-u4zrz1by-project-13074486-concurrent-0dlcxb_gitlab-managed-apps(63d78af9-3662-11ea-b638-0673fa95f662)

 4. prometheus-deployment-66885d86f-6j9vt_prometheus(da2788bb-3651-11ea-b638-0673fa95f662)

 5. nginx-ingress-controller-7dcc95dfbf-ld67q_ingress-nginx(6bf8d8e0-35ca-11ea-b638-0673fa95f662)

そして、ポッドは終了し、終了コード137になります。

理由とこれを克服するための可能な解決策を理解するのを手伝ってくれる人はいますか?

ありがとうございました :)

1
YYashwanth

問題を解決することができました。

ノードには、最初は20Gのebsボリュームがあり、c5.4xlargeインスタンスタイプでした。私はebsを50および100Gに増やしましたが、以下のエラーが何度も見られたため、それは役に立ちませんでした:

「イメージファイルシステムのディスク使用率は95%で、高しきい値(85%)を超えています。3022784921バイトを解放して低しきい値(80%)にしようとしています。」

次に、インスタンスタイプをc5d.4xlargeに変更しました。これには、400GBのキャッシュストレージがあり、300GBのEBSが割り当てられました。これでエラーが解決しました。

いくつかのgitlabジョブは、多くのキャッシュスペースを消費し、多くのログを書き込むいくつかのJavaアプリケーション用でした。

1
YYashwanth

終了コード137は、必ずしもOOMKilledを意味するわけではありません。コンテナーがSIGKILLを受信したときに障害が発生したことを示します(一部の割り込みまたは「oom-killer」[OUT-OF-MEMORY])

ポッドがOOMKilledになった場合、ポッドを説明すると以下の行が表示されます

      State:        Terminated
      Reason:       OOMKilled

同様のエラーが発生しましたが、根本的な原因を特定できませんでした。理由は次のとおりです:Error

1
ffran09