第3章 OVN-Kubernetes のトラブルシューティング
OVN-Kubernetes には、組み込みのヘルスチェックとログのソースが多数あります。以下のセクションの手順に従ってクラスターを調査してください。サポートケースが必要な場合は、サポートガイド に従って、must-gather を使用して追加情報を収集してください。-- gather_network_logs は、サポートから指示された場合にのみ使用してください。
3.1. readiness プローブを使用した OVN-Kubernetes の正常性の監視 リンクのコピーリンクがクリップボードにコピーされました!
ovnkube-control-plane および ovnkube-node Pod には、readiness プローブが設定されたコンテナーがあります。
前提条件
-
OpenShift CLI (
oc) へのアクセスがある。 -
cluster-admin権限でクラスターにアクセスできる。 -
jqがインストールされている。
手順
次のコマンドを実行して、
ovnkube-nodereadiness プローブの詳細を確認します。oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node \ -o json | jq '.items[0].spec.containers[] | .name,.readinessProbe'
$ oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node \ -o json | jq '.items[0].spec.containers[] | .name,.readinessProbe'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ovnkube-nodePod 内のノースバウンドおよびサウスバウンドのデータベースコンテナーの Readiness プローブは、データベースとovnkube-controllerコンテナーの正常性をチェックします。ovnkube-nodePod のovnkube-controllerコンテナーには、OVN-Kubernetes CNI 設定ファイルの存在を確認するための readiness プローブがあります。この設定ファイルがない場合、Pod が実行中でないか、Pod を設定するリクエストを受け入れる準備ができていません。次のコマンドを使用して、プローブの失敗を含む namespace のすべてのイベントを表示します。
oc get events -n openshift-ovn-kubernetes
$ oc get events -n openshift-ovn-kubernetesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 特定の Pod のみのイベントを表示します。
oc describe pod ovnkube-node-9lqfk -n openshift-ovn-kubernetes
$ oc describe pod ovnkube-node-9lqfk -n openshift-ovn-kubernetesCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターネットワーク Operator からのメッセージとステータスを表示します。
oc get co/network -o json | jq '.status.conditions[]'
$ oc get co/network -o json | jq '.status.conditions[]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のスクリプトを実行して、
ovnkube-nodePod 内の各コンテナーのreadyステータスを表示します。for p in $(oc get pods --selector app=ovnkube-node -n openshift-ovn-kubernetes \ -o jsonpath='{range.items[*]}{" "}{.metadata.name}'); do echo === $p ===; \ oc get pods -n openshift-ovn-kubernetes $p -o json | jq '.status.containerStatuses[] | .name, .ready'; \ done$ for p in $(oc get pods --selector app=ovnkube-node -n openshift-ovn-kubernetes \ -o jsonpath='{range.items[*]}{" "}{.metadata.name}'); do echo === $p ===; \ oc get pods -n openshift-ovn-kubernetes $p -o json | jq '.status.containerStatuses[] | .name, .ready'; \ doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記すべてのコンテナーのステータスが
trueとして報告されることが期待されます。readiness プローブが失敗すると、ステータスがfalseに設定されます。