1.24. Envoy プロキシーのトラブルシューティング

Envoy プロキシーは、Service Mesh 内の全サービスの受信トラフィックおよび送信トラフィックをすべてインターセプトします。Envoy は Service Mesh でテレメトリーを収集し、報告します。Envoy は、同じ Pod の関連するサービスに対してサイドカーコンテナーとしてデプロイされます。

1.24.1. Envoy アクセスログの有効化

Envoy アクセスログは、トラフィックの障害およびフローの診断に役立ち、エンドツーエンドのトラフィックフロー分析に役立ちます。

すべての istio-proxy コンテナーのアクセスロギングを有効にするには、ServiceMeshControlPlane (SMCP) オブジェクトを編集してロギングの出力のファイル名を追加します。

手順

  1. cluster-admin ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。以下のコマンドを入力します。次に、プロンプトが表示されたら、ユーザー名とパスワードを入力します。

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
  2. Service Mesh コントロールプレーンをインストールしたプロジェクト (例: istio-system) に切り替えます。

    $ oc project istio-system
  3. ServiceMeshControlPlane ファイルを編集します。

    $ oc edit smcp <smcp_name>
  4. 以下の例で示すように、name を使用してプロキシーログのファイル名を指定します。name の値を指定しないと、ログエントリーは書き込まれません。

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    metadata:
      name: basic
      namespace: istio-system
    spec:
      proxy:
        accessLogging:
          file:
            name: /dev/stdout     #file name

Pod の問題のトラブルシューティングに関する詳細は、Investigating Pod issues を参照してください。

1.24.2. サポート

本書で説明されている手順、または OpenShift Container Platform で問題が発生した場合は、Red Hat カスタマーポータル にアクセスしてください。カスタマーポータルでは、次のことができます。

  • Red Hat 製品に関するアーティクルおよびソリューションを対象とした Red Hat ナレッジベースの検索またはブラウズ。
  • Red Hat サポートに対するサポートケースの送信。
  • その他の製品ドキュメントへのアクセス。

クラスターの問題を特定するには、OpenShift Cluster Manager Hybrid Cloud Console で Insights を使用できます。Insights により、問題の詳細と、利用可能な場合は問題の解決方法に関する情報が提供されます。

本書の改善への提案がある場合、またはエラーを見つけた場合は、最も関連性の高いドキュメントコンポーネントの Jira Issue を送信してください。セクション名や OpenShift Container Platform バージョンなどの具体的な情報を提供してください。

1.24.2.1. Red Hat ナレッジベースについて

Red Hat ナレッジベース は、お客様が Red Hat の製品やテクノロジーを最大限に活用できるようにするための豊富なコンテンツを提供します。Red Hat ナレッジベースは、Red Hat 製品のインストール、設定、および使用に関する記事、製品ドキュメント、および動画で設定されています。さらに、既知の問題に対する解決策を検索でき、それぞれに根本原因の簡潔な説明と修復手順が記載されています。

1.24.2.2. Red Hat ナレッジベースの検索

OpenShift Container Platform の問題が発生した場合には、初期検索を実行して、解決策を Red Hat ナレッジベース内ですでに見つけることができるかどうかを確認できます。

前提条件

  • Red Hat カスタマーポータルのアカウントがある。

手順

  1. Red Hat カスタマーポータル にログインします。
  2. Search をクリックします。
  3. 検索フィールドに、問題に関連する次のようなキーワードと文字列を入力します。

    • OpenShift Container Platform コンポーネント (etcd など)
    • 関連する手順 (installation など)
    • 明示的な失敗に関連する警告、エラーメッセージ、およびその他の出力
  4. Enter キーをクリックします。
  5. オプション: OpenShift Container Platform 製品フィルターを選択します。
  6. オプション: Documentation コンテンツタイプフィルターを選択します。

1.24.2.3. Service Mesh データの収集について

oc adm must-gather CLI コマンドを使用してクラスターに関する情報を収集できます。これには、Red Hat OpenShift Service Mesh に関連する機能およびオブジェクトが含まれます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift Container Platform CLI (oc) がインストールされている。

手順

  1. must-gather で Red Hat OpenShift Service Mesh データを収集するには、Red Hat OpenShift Service Mesh イメージを指定する必要があります。

    $ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4
  2. must-gather で特定の Service Mesh コントロールプレーン namespace の Red Hat OpenShift Service Mesh データを収集するには、Red Hat OpenShift Service Mesh イメージおよび namespace を指定する必要があります。この例では、gather<namespace> を、Service Mesh コントロールプレーンの namespace (istio-system など) に置き換えます。

    $ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 gather <namespace>

    これにより、以下の項目を含むローカルディレクトリーが作成されます。

    • Istio Operator namespace とその子オブジェクト
    • すべてのコントロールプレーンの namespace とその子のオブジェクト
    • Service Mesh に属するすべての namespace とその子オブジェクト
    • すべての Istio カスタムリソース定義 (CRD)
    • VirtualService をはじめとする特定の namespace 内のすべての Istio CRD オブジェクト
    • すべての Istio Webhook

迅速なサポートを得るには、OpenShift Container Platform と Red Hat OpenShift Service Mesh の両方の診断情報を提供してください。

1.24.2.4. サポートケースの送信

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。
  • Red Hat カスタマーポータルのアカウントがある。
  • Red Hat の標準またはプレミアムサブスクリプションがある。

手順

  1. Red Hat カスタマーポータルの Customer Support ページ にログインします。
  2. Get support をクリックします。
  3. Customer Support ページの Cases タブで、以下を行います。

    1. オプション: 必要に応じて、事前に入力されたアカウントと所有者を変更します。
    2. 問題に該当するカテゴリー (Bug or Defect など) を選択し、Continue をクリックします。
  4. 以下の情報を入力します。

    1. Summary フィールドには、問題の簡潔で説明的な概要と、確認されている現象および予想される動作の詳細情報を入力します。
    2. Product ドロップダウンメニューから OpenShift Container Platform を選択します。
    3. Version ドロップダウンから 4 を選択します。
  5. Red Hat ナレッジベースで推奨されるソリューション一覧を確認してください。この一覧に上げられているソリューションは、報告しようとしている問題に適用される可能性があります。提案されている記事が問題に対応していない場合は、Continue をクリックします。
  6. 報告している問題に対する一致に基づいて推奨される Red Hat ナレッジベースソリューションの一覧が更新されることを確認してください。ケース作成プロセスでより多くの情報を提供すると、このリストの絞り込みが行われます。提案されている記事が問題に対応していない場合は、Continue をクリックします。
  7. アカウント情報が予想通りに表示されていることを確認し、そうでない場合は適宜修正します。
  8. 自動入力された OpenShift Container Platform クラスター ID が正しいことを確認します。正しくない場合は、クラスター ID を手動で取得します。

    • OpenShift Container Platform Web コンソールを使用してクラスター ID を手動で取得するには、以下を実行します。

      1. HomeOverview に移動します。
      2. Details セクションの Cluster ID フィールドで値を見つけます。
    • または、OpenShift Container Platform Web コンソールで新規サポートケースを作成し、クラスター ID を自動的に入力することができます。

      1. ツールバーから、(?) HelpOpen Support Case に移動します。
      2. Cluster ID 値が自動的に入力されます。
    • OpenShift CLI (oc) を使用してクラスター ID を取得するには、以下のコマンドを実行します。

      $ oc get clusterversion -o jsonpath='{.items[].spec.clusterID}{"\n"}'
  9. プロンプトが表示されたら、以下の質問に入力し、Continue をクリックします。

    • 動作はどこで発生しているか。どの環境を使用しているか。
    • 動作はいつ発生するか。頻度は。Repeatedly? 特定のタイミングで発生するか。
    • 時間枠およびビジネスへの影響に関して提供できるどのような情報があるか ?
  10. 関連する診断データファイルをアップロードし、Continue をクリックします。まずは、oc adm must-gather コマンドを使用して収集されるデータと、そのコマンドによって収集されない問題に固有のデータを含めることが推奨されます。
  11. 関連するケース管理の詳細情報を入力し、Continue をクリックします。
  12. ケースの詳細をプレビューし、Submit をクリックします。