2.2.4.3. 典型的な問題
エグゼキューター Pod が NoRouteToHostException を出力する
エグゼキューター Pod のログにアクセスする際に、以下のエラーが表示されます。
13:44:03,501 SEVERE [org.jboss.windup.web.messaging.executor.ExecutorBootstrap] (main) Could not start messaging listener due to: Failed to connect to any server. Servers tried: [http-remoting://192.0.2.4:8080 (java.net.NoRouteToHostException: No route to host)]: javax.naming.CommunicationException: Failed to connect to any server. Servers tried: [http-remoting://192.0.2.4:8080 (java.net.NoRouteToHostException: No route to host)]
[...]
意味:
NoRouteToHostException は、この Pod が Web コンソール Pod に接続できないことを示します。
解決方法:
新規デプロイメントでは、Web コンソールの前にエグゼキューターが開始されるため、これは想定されます。それ以外の場合は、Web コンソール Pod を調べ、ここで表示されるエラーを解決します。Web コンソールが正常に実行されたら、エラーが解決されるはずです。
Pod ではリソースが十分にないという報告
OpenShift で Web コンソールをデプロイしようとすると、Pod は起動できず、以下のエラーが Events タブに表示されます。
0/9 nodes are available: 4 Insufficient cpu, 4 MatchNodeSelector, 9 Insufficient memory.
意味:
OpenShift プロジェクトのリソースクォータが満たされ、Pod は要求されたリソースを取得できません。
解決方法:
以下のいずれかを実行します。
- OpenShift プロジェクトのクォータを増やします。OpenShift クォータの詳細は、Quotas and Limit Ranges および Setting Limit Ranges を参照してください。
- Web コンソールの OpenShift プロジェクトの要求されるリソースを減らします。このプロジェクトに少なくとも 2 つの CPU および 4 GB のメモリーを使用することを推奨します。
リクエストが利用可能なクォータに置かれたら、再度デプロイメントを試行します。
Pod が利用可能になるまでに 600 秒以上かかる
デプロイメントの試行後に、-deploy Pod がタイムアウトし、以下のエラーを報告します。
error: update acceptor rejected mta-web-console-executor-1: Pods for rc 'mta/<POD_NAME>' took longer than 600 seconds to become available
これらのエラーは Pod のタイムアウト後に表示され、エラー状態になります。
意味:
デプロイメント Pod は Pod を正常に起動できません。
このエラーはいくつかの原因によって発生する可能性があり、以下が最も一般的です。
- 現在、OpenShift インスタンスは Pod を適時にデプロイするためのリソースが不足しています。
- イメージはレジストリーから正常にプルできませんでした。
解決方法:
デプロイメントを再度試行し、デプロイメントの作成中にデプロイメント以外の Pod のログおよびイベントを表示します。これらのメッセージは、デプロイメント Pod のタイムアウトにつながる基礎となるエラーにコンテキストを提供します。
- OpenShift インスタンスがリソース不足の状態にある最初の問題に対処するには、OpenShift ドキュメントのクラスター管理ガイドの Analyzing Cluster Capacity の手順に従って、クラスター容量を判断します。容量が増やされたり、実行したジョブが少なくなると、再度デプロイメントを試行します。
- 2 つ目の問題 (イメージがレジストリーからプルできない) に対処するには、イメージが存在することを確認するために レジストリーにアクセス します。このリンクには、Docker レジストリーのログを調べる手順も含まれ、問題をさらにトラブルシューティングするために使用できます。