11 トラブルシューティングと一般的な問題
この項の情報は、Oracle HTTP Server (OHS)コンテナの作成に関する問題、およびログ・ファイルの表示方法に関連しています。
CreatingContainerステータスのOHSコンテナ
OHSコンテナの作成中に、次のように表示されることがあります。
NAME READY STATUS RESTARTS AGE
ohs-domain-d5b648bc5-vkp4s 0/1 ContainerCreating 0 2m13sポッドがContainerCreatingステータスの間に何が起こっているかを確認するには、次を実行します:kubectl describe pod <podname> -n <namespace>
次に例を示します: kubectl describe pod ohs-domain-d5b648bc5-vkp4s -n ohsns前述のコマンドの詳細は、考えられる問題の特定に役立つ可能性があります。
EventsにPulling image <image>と表示されている場合は、コンテナがコンテナ・レジストリからイメージをプルしていることを意味します。ネットワークの速度によっては、5-10分かかることがあります。イメージがプルされると、ポッドがRUNNING 0/1ステータスになってから、最終的にRUNNING 1\1になります。
ImagePullBackOffのOHSコンテナ
次のように表示される場合:
kubectl get pods -n ohsns
NAME READY STATUS RESTARTS AGE
ohs-domain-58b8dc4749-hzlc9 0/1 ImagePullBackOff 0 16s
これは、ohs.yamlの正しくないイメージの場所を挿入したか、イメージ自体に問題があるか、作成されたシークレットが正しくないことが原因である可能性があります。
問題を特定して解決したら、コンテナを削除して再試行できます。
cd $MYOHSFILES
kubectl delete -f ohs.yaml
kubectl create -f ohs.yaml0/1 RunningステータスのOHSコンテナ
OHSコンテナの作成中に、次のように表示されることがあります。
NAME READY STATUS RESTARTS AGE
ohs-domain-d5b648bc5-vkp4s 0/1 Running 0 2m13sこれは起動時の通常の動作ですが、ポッドは最終的にRUNNING 1/1になります。
ポッドのステータスは
0/1ですが、次を実行して何が起きているかを確認できます:kubectl logs -f <pod> -n <namespace>次に例を示します:kubectl logs -f ohs-domain-d5b648bc5-vkp4s -n ohsns起動中に問題やエラーが発生した場合は、ここに記録されます。
ポッドを記述して、潜在的な問題を判断することもできます。
kubectl describe pod <pod> -n <namespace>
次に例を示します:kubectl describe pod ohs-domain-d5b648bc5-vkp4s -n ohsnsまた、コンテナ内のOHSログ・ファイルを表示できます。この章の後半の「トラブルシューティングと一般的な問題」、「OHSログ・ファイルの表示」を参照してください。
エラーによっては、$MYOHSFILES/ohsConfigディレクトリ内のファイルを修正する必要がある場合があります。
構成ファイルを修正したら、適切なconfigmapを削除して再作成する必要があります。たとえば、問題が
httpd.conf、ssl.confまたはmod_wl_ohs.confにあった場合:cd $MYOHSFILES
kubectl delete -f ohs.yaml
kubectl delete cm ohs-httpd -n ohsns
kubectl create cm -n ohsns ohs-httpd --from-file=ohsConfig/httpconf
kubectl create -f ohs.yaml有効性プローブの問題
OHSコンテナのステータスが
0/1 Runningで、コンテナが絶えず再起動する場合:NAME READY STATUS RESTARTS AGE
ohs-domain-d5b648bc5-vkp4s 0/1 Running 4 2m13s
この状況が発生し、kubectl logs -f <pod> -n <namespace>にエラーが表示されない場合は、次を実行します。kubectl describe pod <podname> -n <namespace>
出力に次が表示される場合:---- ------ ---- ---- -------
Normal Scheduled 63s default-scheduler Successfully assigned ohsns/ohs-domain-857c5d97d5-8nnx9 to doc-worker1
Normal Pulled 17s (x2 over 62s) kubelet Container image "<image>" already present on machine
Normal Created 17s (x2 over 62s) kubelet Created container ohs
Normal Started 17s (x2 over 62s) kubelet Started container ohs
Warning Unhealthy 2s (x9 over 61s) kubelet Readiness probe failed: Get "http://10.244.1.150:7777/helloWorld.html": dial tcp 10.244.1.150:7777: connect: connection refused
Warning Unhealthy 2s (x6 over 57s) kubelet Liveness probe failed:
Normal Killing 2s (x2 over 47s) kubelet Container ohs failed liveness probe, will be restarted
有効性プローブがチェックする前にhttpdプロセスが起動していないため、有効性プローブがコンテナを強制終了して再起動している可能性があります。これは低速なシステムで起こる可能性があります。この状況が発生した場合は、コンテナを削除します。
次に、コンテナの作成を再試行します。cd $MYOHSFILES
kubectl delete -f ohs.yaml
ohs.yamlファイルを編集し、initialDelaySecondsを10から30に増やします。 livenessProbe:
exec:
command:
- /bin/bash
- -c
- pgrep httpd
initialDelaySeconds: 30
periodSeconds: 5cd $MYOHSFILES
kubectl create -f ohs.yamlOHSログ・ファイルの表示
コンテナ内のOHSログ・ファイルを表示するには、次のコマンドを実行します:
kubectl exec -n <namespace> -ti <pod> -- /bin/bash次に例を示します:kubectl exec -n ohsns -ti ohs-domain-79f8f99575-8qwfh -- /bin/bash
これにより、コンテナ内のBashシェルに移動します。[oracle@ohs-domain-75fbd9b597-z77d8 oracle]$
Bashシェル内で、/u01/oracle/user_projects/domains/ohsDomain/server/ohs1/logsディレクトリに移動します。cd /u01/oracle/user_projects/domains/ohsDomain/server/ohs1/logs
このディレクトリ内から、問題の診断に役立つようにOHSログ・ファイルをcatできます。