1.31. Submariner エンドツーエンドテスト失敗のトラブルシューティング


Submariner エンドツーエンドテストを実行すると、失敗する可能性があります。エンドツーエンドテストが失敗した場合のトラブルシューティングは、次のセクションを参照してください。

1.31.1. 現象: Submariner エンドツーエンドのデータプレーンテストが失敗する

エンドツーエンドのデータプレーンテストが失敗すると、Submariner テストでは connector Pod が listener Pod に接続できることが示された後、connector Pod が listening フェーズで停止します。

1.31.2. 問題の解決: Submariner エンドツーエンドのデータプレーンテストが失敗する

最大伝送単位 (MTU) が原因で、エンドツーエンドのデータプレーンテストが失敗する可能性があります。たとえば、MTU が Internet Protocol Security (IPsec) を経由する inter-cluster トラフィックの障害を引き起こす可能性があります。小さなパケットサイズを使用してエンドツーエンドのデータプレーンテストを実行し、MTU が障害の原因かどうかを確認します。

このタイプのテストを実行するには、Submariner ワークスペースで次のコマンドを実行します。

subctl verify --verbose --only connectivity --context <from_context> --tocontext <to_context> --image-override submariner-nettest=quay.io/submariner/nettest:devel --packet-size 200

小さなパケットサイズでのテストが成功した場合は、Transmission Control Protocol (TCP) の最大セグメントサイズ (MSS) を設定することで接続の問題を解決できます。次の手順を実行して TCP MSS を設定します。

  1. ゲートウェイノードにアノテーションを付けて TCP MSS clamping 値を設定します。たとえば、値を 1200 にして次のコマンドを実行します。

    oc annotate node <node_name> submariner.io/tcp-clamp-mss=1200
  2. 次のコマンドを実行して、すべての RouteAgent Pod を再起動します。

    oc delete pod -n submariner-operator -l app=submariner-routeagent

1.31.3. 現象: ベアメタルクラスターの Submariner エンドツーエンドテストが失敗する

Container Network Interface (CNI) が OpenShiftSDN である場合、または inter-cluster トンネルに Virtual Extensible Local Area Network (VXLAN) が使用されている場合、ベアメタルクラスターのエンドツーエンドデータプレーンテストが失敗する可能性があります。

1.31.4. 問題の解決: ベアメタルクラスターの Submariner エンドツーエンドテストが失敗する

ハードウェアによる User Datagram Protocal (UDP) チェックサム計算のバグが根本原因となり、ベアメタルクラスターのエンドツーエンドデータプレーンテストが失敗している可能性があります。このバグをトラブルシューティングするには、次の YAML ファイルを適用してハードウェアオフロードを無効にします。

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: disable-offload
  namespace: submariner-operator
spec:
  selector:
    matchLabels:
      app: disable-offload
  template:
    metadata:
      labels:
        app: disable-offload
    spec:
      tolerations:
      - operator: Exists
      containers:
        - name: disable-offload
          image: nicolaka/netshoot
          imagePullPolicy: IfNotPresent
          securityContext:
            allowPrivilegeEscalation: true
            capabilities:
              add:
              - net_admin
              drop:
              - all
            privileged: true
            readOnlyRootFilesystem: false
            runAsNonRoot: false
          command: ["/bin/sh", "-c"]
          args:
            - ethtool --offload vxlan-tunnel rx off tx off;
              ethtool --offload vx-submariner rx off tx off;
sleep infinity
      restartPolicy: Always
      securityContext: {}
      serviceAccount: submariner-routeagent
      serviceAccountName: submariner-routeagent
      hostNetwork: true
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.