19.3. OVN-Kubernetes のトラブルシューティング
OVN-Kubernetes には、組み込みのヘルスチェックとログのソースが多数あります。以下のセクションの手順に従ってクラスターを調査してください。サポートケースが必要な場合は、サポートガイド に従って、must-gather
を使用して追加情報を収集してください。-- gather_network_logs
は、サポートから指示された場合にのみ使用してください。
19.3.1. readiness プローブを使用した OVN-Kubernetes の正常性の監視
ovnkube-control-plane
および ovnkube-node
Pod には、readiness プローブが設定されたコンテナーがあります。
前提条件
-
OpenShift CLI (
oc
) へのアクセスがある。 -
cluster-admin
権限でクラスターにアクセスできる。 -
jq
がインストールされている。
手順
次のコマンドを実行して、
ovnkube-node
readiness プローブの詳細を確認します。$ oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node \ -o json | jq '.items[0].spec.containers[] | .name,.readinessProbe'
ovnkube-node
Pod 内のノースバウンドおよびサウスバウンドのデータベースコンテナーの Readiness プローブは、データベースとovnkube-controller
コンテナーの正常性をチェックします。ovnkube-node
Pod のovnkube-controller
コンテナーには、OVN-Kubernetes CNI 設定ファイルの存在を確認するための readiness プローブがあります。この設定ファイルがない場合、Pod が実行中でないか、Pod を設定するリクエストを受け入れる準備ができていません。次のコマンドを使用して、プローブの失敗を含む namespace のすべてのイベントを表示します。
$ oc get events -n openshift-ovn-kubernetes
特定の Pod のみのイベントを表示します。
$ oc describe pod ovnkube-node-9lqfk -n openshift-ovn-kubernetes
クラスターネットワーク Operator からのメッセージとステータスを表示します。
$ oc get co/network -o json | jq '.status.conditions[]'
次のスクリプトを実行して、
ovnkube-node
Pod 内の各コンテナーの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
注記すべてのコンテナーのステータスが
true
として報告されることが期待されます。readiness プローブが失敗すると、ステータスがfalse
に設定されます。
19.3.2. コンソールでの OVN-Kubernetes アラートの表示
アラート UI は、アラートおよびそれらを規定するアラートルールおよびサイレンスに関する詳細情報を提供します。
前提条件
- 開発者として、またはメトリクスで表示しているプロジェクトの表示権限を持つユーザーとしてクラスターへのアクセスがある。
手順 (UI)
-
Administrator パースペクティブで、Observe
Alerting を選択します。このパースペクティブのアラート UI の主なページには、Alerts、Silences、および Alerting Rules という 3 つのページがあります。 -
Observe
Alerting Alerting Rules を選択して、OVN-Kubernetes アラートのルールを表示します。
19.3.3. CLI での OVN-Kubernetes アラートの表示
コマンドラインから、アラートとその管理アラートルールおよびサイレンスに関する情報を取得できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。 -
jq
がインストールされている。
手順
次のコマンドを実行して、アクティブまたは発生中のアラートを表示します。
次のコマンドを実行して、アラートマネージャーのルート環境変数を設定します。
$ ALERT_MANAGER=$(oc get route alertmanager-main -n openshift-monitoring \ -o jsonpath='{@.spec.host}')
以下のコマンドを実行してアラートマネージャールート API に
curl
リクエストを実行します。$ALERT_MANAGER
は、Alertmanager
インスタンスの URL に置き換えます。$ curl -s -k -H "Authorization: Bearer $(oc create token prometheus-k8s -n openshift-monitoring)" https://$ALERT_MANAGER/api/v1/alerts | jq '.data[] | "\(.labels.severity) \(.labels.alertname) \(.labels.pod) \(.labels.container) \(.labels.endpoint) \(.labels.instance)"'
次のコマンドを実行して、アラートルールを表示します。
$ oc -n openshift-monitoring exec -c prometheus prometheus-k8s-0 -- curl -s 'http://localhost:9090/api/v1/rules' | jq '.data.groups[].rules[] | select(((.name|contains("ovn")) or (.name|contains("OVN")) or (.name|contains("Ovn")) or (.name|contains("North")) or (.name|contains("South"))) and .type=="alerting")'
19.3.4. CLI を使用した OVN-Kubernetes ログの表示
OpenShift CLI (oc
) を使用して、ovnkube-master
および ovnkube-node
Pod 内の各 Pod のログを表示できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) へのアクセスがある。 -
jq
がインストールされている。
手順
特定の Pod のログを表示します。
$ oc logs -f <pod_name> -c <container_name> -n <namespace>
ここでは、以下のようになります。
-f
- オプション: ログに書き込まれている内容に沿って出力することを指定します。
<pod_name>
- Pod の名前を指定します。
<container_name>
- オプション: コンテナーの名前を指定します。Pod に複数のコンテナーがある場合、コンテナー名を指定する必要があります。
<namespace>
- Pod が実行されている namespace を指定します。
以下に例を示します。
$ oc logs ovnkube-node-5dx44 -n openshift-ovn-kubernetes
$ oc logs -f ovnkube-node-5dx44 -c ovnkube-controller -n openshift-ovn-kubernetes
ログファイルの内容が出力されます。
ovnkube-node
Pod 内のすべてのコンテナーの最新のエントリーを調べます。$ for p in $(oc get pods --selector app=ovnkube-node -n openshift-ovn-kubernetes \ -o jsonpath='{range.items[*]}{" "}{.metadata.name}'); \ do echo === $p ===; for container in $(oc get pods -n openshift-ovn-kubernetes $p \ -o json | jq -r '.status.containerStatuses[] | .name');do echo ---$container---; \ oc logs -c $container $p -n openshift-ovn-kubernetes --tail=5; done; done
次のコマンドを使用して、
ovnkube-node
Pod 内のすべてのコンテナーのすべてのログの最後の 5 行を表示します。$ oc logs -l app=ovnkube-node -n openshift-ovn-kubernetes --all-containers --tail 5
19.3.5. Web コンソールを使用した OVN-Kubernetes ログの表示
Web コンソールで、ovnkube-master
Pod と ovnkube-node
Pod の各 Pod のログを表示できます。
前提条件
-
OpenShift CLI (
oc
) へのアクセスがある。
手順
-
OpenShift Container Platform コンソールで Workloads
Pods に移動するか、調査するリソースから Pod に移動します。 -
ドロップダウンメニューから
openshift-ovn-kubernetes
プロジェクトを選択します。 - 調査する Pod の名前をクリックします。
-
Logs をクリックします。
ovnkube-master
のデフォルトでは、northd
コンテナーに関連付けられたログが表示されます。 - ドロップダウンメニューを使用して、各コンテナーのログを順番に選択します。
19.3.5.1. OVN-Kubernetes のログレベルの変更
OVN-Kubernetes のデフォルトのログレベルは 4 です。OVN-Kubernetes をデバッグするには、ログレベルを 5 に設定します。次の手順に従って OVN-Kubernetes のログレベルを上げることで、問題のデバッグに役立てることができます。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - OpenShift Container Platform Web コンソールにアクセスできる。
手順
次のコマンドを実行して、OVN-Kubernetes プロジェクト内のすべての Pod の詳細情報を取得します。
$ oc get po -o wide -n openshift-ovn-kubernetes
出力例
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ovnkube-control-plane-65497d4548-9ptdr 2/2 Running 2 (128m ago) 147m 10.0.0.3 ci-ln-3njdr9b-72292-5nwkp-master-0 <none> <none> ovnkube-control-plane-65497d4548-j6zfk 2/2 Running 0 147m 10.0.0.5 ci-ln-3njdr9b-72292-5nwkp-master-2 <none> <none> ovnkube-node-5dx44 8/8 Running 0 146m 10.0.0.3 ci-ln-3njdr9b-72292-5nwkp-master-0 <none> <none> ovnkube-node-dpfn4 8/8 Running 0 146m 10.0.0.4 ci-ln-3njdr9b-72292-5nwkp-master-1 <none> <none> ovnkube-node-kwc9l 8/8 Running 0 134m 10.0.128.2 ci-ln-3njdr9b-72292-5nwkp-worker-a-2fjcj <none> <none> ovnkube-node-mcrhl 8/8 Running 0 134m 10.0.128.4 ci-ln-3njdr9b-72292-5nwkp-worker-c-v9x5v <none> <none> ovnkube-node-nsct4 8/8 Running 0 146m 10.0.0.5 ci-ln-3njdr9b-72292-5nwkp-master-2 <none> <none> ovnkube-node-zrj9f 8/8 Running 0 134m 10.0.128.3 ci-ln-3njdr9b-72292-5nwkp-worker-b-v78h7 <none> <none>
次の例のような
ConfigMap
ファイルを作成し、env-overrides.yaml
などのファイル名を使用します。ConfigMap
ファイルの例kind: ConfigMap apiVersion: v1 metadata: name: env-overrides namespace: openshift-ovn-kubernetes data: ci-ln-3njdr9b-72292-5nwkp-master-0: | 1 # This sets the log level for the ovn-kubernetes node process: OVN_KUBE_LOG_LEVEL=5 # You might also/instead want to enable debug logging for ovn-controller: OVN_LOG_LEVEL=dbg ci-ln-3njdr9b-72292-5nwkp-master-2: | # This sets the log level for the ovn-kubernetes node process: OVN_KUBE_LOG_LEVEL=5 # You might also/instead want to enable debug logging for ovn-controller: OVN_LOG_LEVEL=dbg _master: | 2 # This sets the log level for the ovn-kubernetes master process as well as the ovn-dbchecker: OVN_KUBE_LOG_LEVEL=5 # You might also/instead want to enable debug logging for northd, nbdb and sbdb on all masters: OVN_LOG_LEVEL=dbg
次のコマンドを使用して、
ConfigMap
ファイルを適用します。$ oc apply -n openshift-ovn-kubernetes -f env-overrides.yaml
出力例
configmap/env-overrides.yaml created
次のコマンドを使用して
ovnkube
Pod を再起動し、新しいログレベルを適用します。$ oc delete pod -n openshift-ovn-kubernetes \ --field-selector spec.nodeName=ci-ln-3njdr9b-72292-5nwkp-master-0 -l app=ovnkube-node
$ oc delete pod -n openshift-ovn-kubernetes \ --field-selector spec.nodeName=ci-ln-3njdr9b-72292-5nwkp-master-2 -l app=ovnkube-node
$ oc delete pod -n openshift-ovn-kubernetes -l app=ovnkube-node
ConfigMap ファイルが特定の Pod のすべてのノードに適用されていることを確認するには、次のコマンドを実行します。
$ oc logs -n openshift-ovn-kubernetes --all-containers --prefix ovnkube-node-<xxxx> | grep -E -m 10 '(Logging config:|vconsole|DBG)'
ここでは、以下のようになります。
<XXXX>
前の手順の Pod の文字のランダムなシーケンスを指定します。
出力例
[pod/ovnkube-node-2cpjc/sbdb] + exec /usr/share/ovn/scripts/ovn-ctl --no-monitor '--ovn-sb-log=-vconsole:info -vfile:off -vPATTERN:console:%D{%Y-%m-%dT%H:%M:%S.###Z}|%05N|%c%T|%p|%m' run_sb_ovsdb [pod/ovnkube-node-2cpjc/ovnkube-controller] I1012 14:39:59.984506 35767 config.go:2247] Logging config: {File: CNIFile:/var/log/ovn-kubernetes/ovn-k8s-cni-overlay.log LibovsdbFile:/var/log/ovnkube/libovsdb.log Level:5 LogFileMaxSize:100 LogFileMaxBackups:5 LogFileMaxAge:0 ACLLoggingRateLimit:20} [pod/ovnkube-node-2cpjc/northd] + exec ovn-northd --no-chdir -vconsole:info -vfile:off '-vPATTERN:console:%D{%Y-%m-%dT%H:%M:%S.###Z}|%05N|%c%T|%p|%m' --pidfile /var/run/ovn/ovn-northd.pid --n-threads=1 [pod/ovnkube-node-2cpjc/nbdb] + exec /usr/share/ovn/scripts/ovn-ctl --no-monitor '--ovn-nb-log=-vconsole:info -vfile:off -vPATTERN:console:%D{%Y-%m-%dT%H:%M:%S.###Z}|%05N|%c%T|%p|%m' run_nb_ovsdb [pod/ovnkube-node-2cpjc/ovn-controller] 2023-10-12T14:39:54.552Z|00002|hmap|DBG|lib/shash.c:114: 1 bucket with 6+ nodes, including 1 bucket with 6 nodes (32 nodes total across 32 buckets) [pod/ovnkube-node-2cpjc/ovn-controller] 2023-10-12T14:39:54.553Z|00003|hmap|DBG|lib/shash.c:114: 1 bucket with 6+ nodes, including 1 bucket with 6 nodes (64 nodes total across 64 buckets) [pod/ovnkube-node-2cpjc/ovn-controller] 2023-10-12T14:39:54.553Z|00004|hmap|DBG|lib/shash.c:114: 1 bucket with 6+ nodes, including 1 bucket with 7 nodes (32 nodes total across 32 buckets) [pod/ovnkube-node-2cpjc/ovn-controller] 2023-10-12T14:39:54.553Z|00005|reconnect|DBG|unix:/var/run/openvswitch/db.sock: entering BACKOFF [pod/ovnkube-node-2cpjc/ovn-controller] 2023-10-12T14:39:54.553Z|00007|reconnect|DBG|unix:/var/run/openvswitch/db.sock: entering CONNECTING [pod/ovnkube-node-2cpjc/ovn-controller] 2023-10-12T14:39:54.553Z|00008|ovsdb_cs|DBG|unix:/var/run/openvswitch/db.sock: SERVER_SCHEMA_REQUESTED -> SERVER_SCHEMA_REQUESTED at lib/ovsdb-cs.c:423
オプション: 次のコマンドを実行して、
ConfigMap
ファイルが適用されていることを確認します。for f in $(oc -n openshift-ovn-kubernetes get po -l 'app=ovnkube-node' --no-headers -o custom-columns=N:.metadata.name) ; do echo "---- $f ----" ; oc -n openshift-ovn-kubernetes exec -c ovnkube-controller $f -- pgrep -a -f init-ovnkube-controller | grep -P -o '^.*loglevel\s+\d' ; done
出力例
---- ovnkube-node-2dt57 ---- 60981 /usr/bin/ovnkube --init-ovnkube-controller xpst8-worker-c-vmh5n.c.openshift-qe.internal --init-node xpst8-worker-c-vmh5n.c.openshift-qe.internal --config-file=/run/ovnkube-config/ovnkube.conf --ovn-empty-lb-events --loglevel 4 ---- ovnkube-node-4zznh ---- 178034 /usr/bin/ovnkube --init-ovnkube-controller xpst8-master-2.c.openshift-qe.internal --init-node xpst8-master-2.c.openshift-qe.internal --config-file=/run/ovnkube-config/ovnkube.conf --ovn-empty-lb-events --loglevel 4 ---- ovnkube-node-548sx ---- 77499 /usr/bin/ovnkube --init-ovnkube-controller xpst8-worker-a-fjtnb.c.openshift-qe.internal --init-node xpst8-worker-a-fjtnb.c.openshift-qe.internal --config-file=/run/ovnkube-config/ovnkube.conf --ovn-empty-lb-events --loglevel 4 ---- ovnkube-node-6btrf ---- 73781 /usr/bin/ovnkube --init-ovnkube-controller xpst8-worker-b-p8rww.c.openshift-qe.internal --init-node xpst8-worker-b-p8rww.c.openshift-qe.internal --config-file=/run/ovnkube-config/ovnkube.conf --ovn-empty-lb-events --loglevel 4 ---- ovnkube-node-fkc9r ---- 130707 /usr/bin/ovnkube --init-ovnkube-controller xpst8-master-0.c.openshift-qe.internal --init-node xpst8-master-0.c.openshift-qe.internal --config-file=/run/ovnkube-config/ovnkube.conf --ovn-empty-lb-events --loglevel 5 ---- ovnkube-node-tk9l4 ---- 181328 /usr/bin/ovnkube --init-ovnkube-controller xpst8-master-1.c.openshift-qe.internal --init-node xpst8-master-1.c.openshift-qe.internal --config-file=/run/ovnkube-config/ovnkube.conf --ovn-empty-lb-events --loglevel 4
19.3.6. OVN-Kubernetes Pod ネットワーク接続のチェック
OpenShift Container Platform 4.10 以降の接続チェックコントローラーは、クラスター内の接続検証チェックをオーケストレーションします。これには、Kubernetes API、OpenShift API、および個々のノードが含まれます。接続テストの結果は、openshift-network-diagnostics
namespace の PodNetworkConnectivity
オブジェクトに保存されます。接続テストは、1 分ごとに並行して実行されます。
前提条件
-
OpenShift CLI (
oc
) へのアクセスがある。 -
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
jq
がインストールされている。
手順
現在の
PodNetworkConnectivityCheck
オブジェクトをリスト表示するには、以下のコマンドを入力します。$ oc get podnetworkconnectivitychecks -n openshift-network-diagnostics
次のコマンドを使用して、各接続オブジェクトの最新の成功を表示します。
$ oc get podnetworkconnectivitychecks -n openshift-network-diagnostics \ -o json | jq '.items[]| .spec.targetEndpoint,.status.successes[0]'
次のコマンドを使用して、各接続オブジェクトの最新のエラーを表示します。
$ oc get podnetworkconnectivitychecks -n openshift-network-diagnostics \ -o json | jq '.items[]| .spec.targetEndpoint,.status.failures[0]'
次のコマンドを使用して、各接続オブジェクトの最新の停止を表示します。
$ oc get podnetworkconnectivitychecks -n openshift-network-diagnostics \ -o json | jq '.items[]| .spec.targetEndpoint,.status.outages[0]'
接続チェックコントローラーは、これらのチェックからのメトリクスも Prometheus に記録します。
次のコマンドを実行して、すべてのメトリクスを表示します。
$ oc exec prometheus-k8s-0 -n openshift-monitoring -- \ promtool query instant http://localhost:9090 \ '{component="openshift-network-diagnostics"}'
過去 5 分間のソース Pod と openshift api サービス間のレイテンシーを表示します。
$ oc exec prometheus-k8s-0 -n openshift-monitoring -- \ promtool query instant http://localhost:9090 \ '{component="openshift-network-diagnostics"}'
19.3.7. CLI を使用して OVS サンプリングで OVN-Kubernetes ネットワークトラフィックを確認する
OVS サンプリングによる OVN-Kubernetes ネットワークトラフィックのチェックは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OVN-Kubernetes ネットワークトラフィックは、CLI を介した次のネットワーク API の OVS サンプリングで表示できます。
-
NetworkPolicy
-
AdminNetworkPolicy
-
BaselineNetworkPolicy
-
UserDefinedNetwork
分離 -
EgressFirewall
- マルチキャスト ACL。
これらのネットワークイベントのスクリプトは、各 OVN-Kubernetes ノードの /usr/bin/ovnkube-observ
パスにあります。
Network Observability Operator と OVS サンプリングによる OVN-Kubernetes ネットワークトラフィックのチェックは、どちらもデバッグに適していますが、Network Observability Operator はネットワークイベントの監視を目的としています。または、CLI を使用して OVS サンプリングで OVN-Kubernetes ネットワークトラフィックをチェックすると、パケットトレースに役立ちます。Network Observability Operator がインストールされている場合にも使用できますが、必須ではありません。
管理者は、--add-ovs-collect
オプションを追加してノード全体のネットワークトラフィックを表示したり、追加のフラグを渡して特定の Pod の結果をフィルタリングしたりできます。追加のフラグについては、「OVS サンプリングフラグを使用した OVN-Kubernetes ネットワークトラフィック」セクションを参照してください。
CLI を使用して OVN-Kubernetes ネットワークトラフィックを表示するには、次の手順に従います。
前提条件
-
cluster-admin
権限を持つユーザーとしてクラスターにログインしている。 - ソース Pod と宛先 Pod を作成し、それらの間でトラフィックを実行した。
-
NetworkPolicy
、AdminNetworkPolicy
、BaselineNetworkPolicy
、UserDefinedNetwork
の分離、マルチキャスト、または Egress ファイアウォールのいずれかのネットワーク API を 1 つ以上作成した。
手順
OVS サンプリング機能を使用して
OVNObservability
を有効にするには、次のコマンドを入力して、cluster
という名前のFeatureGate
CR でTechPreviewNoUpgrade
機能セットを有効にします。$ oc patch --type=merge --patch '{"spec": {"featureSet": "TechPreviewNoUpgrade"}}' featuregate/cluster
出力例
featuregate.config.openshift.io/cluster patched
次のコマンドを入力して、
OVNObservability
機能が有効になっていることを確認します。$ oc get featuregate cluster -o yaml
出力例
featureGates: # ... enabled: - name: OVNObservability
次のコマンドを入力して、関連するネットワーク API の 1 つを作成した namespace 内の Pod のリストを取得します。次の手順で使用するために、Pod の
NODE
名をメモします。$ oc get pods -n <namespace> -o wide
出力例
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES destination-pod 1/1 Running 0 53s 10.131.0.23 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> <none> source-pod 1/1 Running 0 56s 10.131.0.22 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> <none>
次のコマンドを入力して、OVN-Kubernetes Pod のリストを取得し、前の手順の Pod と同じ
NODE
を共有する Pod を見つけます。$ oc get pods -n openshift-ovn-kubernetes -o wide
出力例
NAME ... READY STATUS RESTARTS AGE IP NODE NOMINATED NODE ovnkube-node-jzn5b 8/8 Running 1 (34m ago) 37m 10.0.128.2 ci-ln-1gqp7b2-72292-bb9dv-worker-a-gtmpc <none> ...
次のコマンドを入力して、
ovnkube-node
Pod 内で bash シェルを開きます。$ oc exec -it <pod_name> -n openshift-ovn-kubernetes -- bash
ovnkube-node
Pod 内では、ovnkube-observ -add-ovs-collector
スクリプトを実行し、OVS コレクターを使用してネットワークイベントを表示できます。以下に例を示します。# /usr/bin/ovnkube-observ -add-ovs-collector
出力例
... 2024/12/02 19:41:41.327584 OVN-K message: Allowed by default allow from local node policy, direction ingress 2024/12/02 19:41:41.327593 src=10.131.0.2, dst=10.131.0.6 2024/12/02 19:41:41.327692 OVN-K message: Allowed by default allow from local node policy, direction ingress 2024/12/02 19:41:41.327715 src=10.131.0.6, dst=10.131.0.2 ...
-filter-src-ip
フラグと Pod の IP アドレスを指定して次のコマンドを入力すると、ソース Pod などのタイプ別にコンテンツをフィルタリングできます。以下に例を示します。# /usr/bin/ovnkube-observ -add-ovs-collector -filter-src-ip <pod_ip_address>
出力例
... Found group packets, id 14 2024/12/10 16:27:12.456473 OVN-K message: Allowed by admin network policy allow-egress-group1, direction Egress 2024/12/10 16:27:12.456570 src=10.131.0.22, dst=10.131.0.23 2024/12/10 16:27:14.484421 OVN-K message: Allowed by admin network policy allow-egress-group1, direction Egress 2024/12/10 16:27:14.484428 src=10.131.0.22, dst=10.131.0.23 2024/12/10 16:27:12.457222 OVN-K message: Allowed by network policy test:allow-ingress-from-specific-pod, direction Ingress 2024/12/10 16:27:12.457228 src=10.131.0.22, dst=10.131.0.23 2024/12/10 16:27:12.457288 OVN-K message: Allowed by network policy test:allow-ingress-from-specific-pod, direction Ingress 2024/12/10 16:27:12.457299 src=10.131.0.22, dst=10.131.0.23 ...
/usr/bin/ovnkube-observ
で渡すことができるフラグの完全なリストについては、「OVS サンプリングフラグを持つ OVN-Kubernetes ネットワークトラフィック」を参照してください。
19.3.7.1. OVS サンプリングフラグを持つ OVN-Kubernetes ネットワークトラフィック
CLI を使用して OVN-Kubernetes ネットワークトラフィックを表示するには、次のフラグを使用できます。ovnkube-node
Pod 内で bash シェルを開いた後、ターミナルで次の構文にこれらのフラグを追加します。
コマンド構文
# /usr/bin/ovnkube-observ <flag>
フラグ | 説明 |
---|---|
|
|
| サンプリングを有効にするために OVS コレクターを追加します。注意して使用してください。他のユーザーが可観測性を使用していないことを確認します。 |
|
NBDB データでサンプルを補完します。デフォルトは |
| 指定された宛先 IP へのパケットのみをフィルタリングします。 |
| 指定された送信元 IP からのパケットのみをフィルタリングします。 |
| psample group_id を使用して生のサンプル Cookie を出力します。 |
| サンプルの書き込み先となる出力ファイル。 |
| 受信したパケット全体を出力します。false の場合、すべてのサンプルで送信元 IP と宛先 IP のみが出力されます。 |