2.26. Envoy プロキシーのトラブルシューティング
Envoy プロキシーは、Service Mesh 内の全サービスの受信トラフィックおよび送信トラフィックをすべてインターセプトします。Envoy は Service Mesh でテレメトリーを収集し、報告します。Envoy は、同じ Pod の関連するサービスに対してサイドカーコンテナーとしてデプロイされます。
2.26.1. Envoy アクセスログの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Envoy アクセスログは、トラフィックの障害およびフローの診断に役立ち、エンドツーエンドのトラフィックフロー分析に役立ちます。
すべての istio-proxy コンテナーのアクセスロギングを有効にするには、ServiceMeshControlPlane
(SMCP) オブジェクトを編集してロギングの出力のファイル名を追加します。
手順
cluster-admin ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。以下のコマンドを入力します。次に、プロンプトが表示されたら、ユーザー名とパスワードを入力します。
oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Service Mesh コントロールプレーンをインストールしたプロジェクト (例:
istio-system
) に切り替えます。oc project istio-system
$ oc project istio-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMeshControlPlane
ファイルを編集します。oc edit smcp <smcp_name>
$ oc edit smcp <smcp_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例で示すように、
name
を使用してプロキシーログのファイル名を指定します。name
の値を指定しないと、ログエントリーは書き込まれません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Pod の問題のトラブルシューティングに関する詳細は、Pod の問題の調査 を参照してください。
2.26.2. サポート リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントで説明されている手順、または OpenShift Container Platform 全般で問題が発生した場合は、Red Hat カスタマーポータル にアクセスしてください。
カスタマーポータルでは、次のことができます。
- Red Hat 製品に関するアーティクルおよびソリューションを対象とした Red Hat ナレッジベースの検索またはブラウズ。
- Red Hat サポートに対するサポートケースの送信。
- その他の製品ドキュメントへのアクセス。
クラスターの問題を特定するには、OpenShift Cluster Manager で Insights を使用できます。Insights により、問題の詳細と、利用可能な場合は問題の解決方法に関する情報が提供されます。
このドキュメントの改善への提案がある場合、またはエラーを見つけた場合は、最も関連性の高いドキュメントコンポーネントの Jira Issue を送信してください。セクション名や OpenShift Container Platform バージョンなどの具体的な情報を提供してください。
2.26.2.1. Red Hat ナレッジベースについて リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ナレッジベース は、お客様が Red Hat の製品やテクノロジーを最大限に活用できるようにするための豊富なコンテンツを提供します。Red Hat ナレッジベースは、Red Hat 製品のインストール、設定、および使用に関する記事、製品ドキュメント、および動画で構成されています。さらに、既知の問題に対する解決策を検索でき、それぞれに根本原因の簡潔な説明と修復手順が記載されています。
2.26.2.2. Red Hat ナレッジベースの検索 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform の問題が発生した場合には、初期検索を実行して、解決策を Red Hat ナレッジベース内ですでに見つけることができるかどうかを確認できます。
前提条件
- Red Hat カスタマーポータルのアカウントがある。
手順
- Red Hat カスタマーポータル にログインします。
- Search をクリックします。
検索フィールドに、問題に関連する次のようなキーワードと文字列を入力します。
- OpenShift Container Platform コンポーネント (etcd など)
- 関連する手順 (installation など)
- 明示的な失敗に関連する警告、エラーメッセージ、およびその他の出力
- Enter キーをクリックします。
- オプション: OpenShift Container Platform 製品フィルターを選択します。
- オプション: Documentation コンテンツタイプフィルターを選択します。
2.26.2.3. Service Mesh データの収集について リンクのコピーリンクがクリップボードにコピーされました!
oc adm must-gather
CLI コマンドを使用してクラスターに関する情報を収集できます。これには、Red Hat OpenShift Service Mesh に関連する機能およびオブジェクトが含まれます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift Container Platform CLI (
oc
) がインストールされている。
手順
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.6
$ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.6 gather <namespace>
$ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.6 gather <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、以下の項目を含むローカルディレクトリーが作成されます。
- Istio Operator namespace とその子オブジェクト
- すべてのコントロールプレーンの namespace とその子のオブジェクト
- Service Mesh に属するすべての namespace とその子オブジェクト
- すべての Istio カスタムリソース定義 (CRD)
- VirtualService をはじめとする特定の namespace 内のすべての Istio CRD オブジェクト
- すべての Istio Webhook
迅速なサポートを得るには、OpenShift Container Platform と Red Hat OpenShift Service Mesh の両方の診断情報を提供してください。
2.26.2.4. サポートケースの送信 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。 - Red Hat カスタマーポータルのアカウントがある。
- Red Hat の Standard または Premium サブスクリプションがある。
手順
- Red Hat カスタマーポータルの Customer Support ページ にログインします。
- Get support をクリックします。
Customer Support ページの Cases タブで、以下を行います。
- オプション: 必要に応じて、事前に入力されたアカウントと所有者の詳細を変更します。
- 問題に該当するカテゴリー (Bug、Defect など) を選択し、Continue をクリックします。
以下の情報を入力します。
- Summary フィールドには、問題の簡潔で説明的な概要と、確認されている現象および予想される動作の詳細情報を入力します。
- Product ドロップダウンメニューから OpenShift Container Platform を選択します。
- Version ドロップダウンから 4.18 を選択します。
- Red Hat ナレッジベースで推奨されるソリューション一覧を確認してください。この一覧に上げられているソリューションは、報告しようとしている問題に適用される可能性があります。提案されている記事が問題に対応していない場合は、Continue をクリックします。
- 報告している問題に対する一致に基づいて推奨される Red Hat ナレッジベースソリューションの一覧が更新されることを確認してください。ケース作成プロセスでより多くの情報を提供すると、このリストの絞り込みが行われます。提案されている記事が問題に対応していない場合は、Continue をクリックします。
- アカウント情報が予想通りに表示されていることを確認し、そうでない場合は適宜修正します。
自動入力された OpenShift Container Platform クラスター ID が正しいことを確認します。正しくない場合は、クラスター ID を手動で取得します。
OpenShift Container Platform Web コンソールを使用してクラスター ID を手動で取得するには、以下を実行します。
-
Home
Overview に移動します。 - Details セクションの Cluster ID フィールドで値を見つけます。
-
Home
または、OpenShift Container Platform Web コンソールで新規サポートケースを作成し、クラスター ID を自動的に入力することができます。
-
ツールバーから、(?)Help
Open Support Case に移動します。 - Cluster ID 値が自動的に入力されます。
-
ツールバーから、(?)Help
OpenShift CLI (
oc
) を使用してクラスター ID を取得するには、以下のコマンドを実行します。oc get clusterversion -o jsonpath='{.items[].spec.clusterID}{"\n"}'
$ oc get clusterversion -o jsonpath='{.items[].spec.clusterID}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
プロンプトが表示されたら、以下の質問に回答し、Continue をクリックします。
- What are you experiencing? What are you expecting to happen?
- Define the value or impact to you or the business.
- Where are you experiencing this behavior? What environment?
- When does this behavior occur? Frequency? 繰り返し発生するのか。At certain times?
-
関連する診断データファイルをアップロードし、Continue をクリックします。まずは、
oc adm must-gather
コマンドを使用して収集されるデータと、そのコマンドによって収集されない問題に固有のデータを含めることが推奨されます。 - 関連するケース管理の詳細情報を入力し、Continue をクリックします。
- ケースの詳細をプレビューし、Submit をクリックします。