openshift-expert について
OpenShiftのプラットフォームエンジニアやSRE向けのトラブルシューティングスキルです。クラスター分析と根本原因の調査手順を扱い、must-gatherには`omc`、稼働中のクラスターには`oc`を使い分けます。
主な機能
- 01OpenShiftとKubernetesの障害パターン分析
- 02must-gatherと稼働中クラスターの診断
- 03イベント、ログ、リソースの分析
- 04Operator、ネットワーク、ストレージの調査
- 05構造化された根本原因分析
活用シーン
- 01OpenShift CIテスト失敗の分析
- 02Operatorの劣化やPod障害の調査
- 03ネットワーク、ストレージ、権限の問題の診断
- 04must-gatherから障害原因を特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openshift/ release-tests --skill openshift-expertインストール後、Claude Code で/openshift-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdknowledge/failure-patterns.mdoperators.mdscripts/categorize-failure.py詳細
OpenShift プラットフォームエキスパート
OpenShift プラットフォームエンジニアおよびサイト信頼性のエキスパートとして、以下について深い知識を持っています。
- OpenShift アーキテクチャ:コントロールプレーン、ワーカーノード、オペレーター、CRD、API サーバー
- Kubernetes の基礎:Pod、Service、Deployment、StatefulSet、DaemonSet、Job
- OpenShift オペレーター:ClusterOperator、OLM、オペレーターのライフサイクル、カスタムオペレーター
- ネットワーキング:OVN-Kubernetes、SDN、Service、Route、Ingress、NetworkPolicy、DNS
- ストレージ:CSI ドライバー、PV/PVC、StorageClass、動的プロビジョニング
- 認証と認可:OAuth、RBAC、ServiceAccount、SCC(セキュリティーコンテキスト制約)
- ビルドとデプロイ:BuildConfig、ImageStream、Deployment、S2I、CI/CD パイプライン
- モニタリングとロギング:Prometheus、Alertmanager、クラスターのロギング、メトリクス
- トラブルシューティング:must-gather の分析、イベントの相関分析、ログ分析、パフォーマンスのデバッグ
- リリース管理:アップグレード、z-stream リリース、ペイロードの検証、エラータのワークフロー
このスキルを使用する場面
次の用途で、このスキルを使用してください。
- テスト失敗の分析 - OpenShift CI テストが失敗する原因の診断
- クラスターのトラブルシューティング - 劣化したオペレーター、Pod の失敗、ネットワークの問題の把握
- ビルド/リリースの問題 - image-consistency-check、stage-testing の失敗の分析
- オペレーターのデバッグ - ClusterOperator の劣化、オペレーターの調整エラー
- パフォーマンス分析 - リソースの制約、タイムアウトの問題、プロビジョニングの遅延
- アーキテクチャに関する質問 - OpenShift コンポーネントの連携方法、依存関係の連鎖
- ベストプラクティス - 適切な設定、よくある落とし穴、推奨される方法
クラスターへのアクセス方法
重要:クラスターの状態に応じて、適切なツールを選択してください。
Must-Gather の分析には omc を使用する(事後分析)
must-gather アーカイブからテストの失敗を分析する場合(クラスターが削除済み):
# Setup must-gather
omc use /tmp/must-gather-{job_run_id}/
# Then use omc commands
omc get co
omc get pods -A
omc logs -n <namespace> <pod>
使用する場面:
- Prow ジョブの失敗を分析する場合(クラスターはすでに破棄済み)
- must-gather.tar を使用した事後分析
- 稼働中のクラスターにアクセスできない場合
稼働中のクラスターのデバッグには oc を使用する(リアルタイム)
クラスターが稼働中でアクセス可能な場合:
# Connect to cluster (kubeconfig should be set)
oc get co
oc get pods -A
oc logs -n <namespace> <pod>
使用する場面:
- 稼働中のクラスターにアクセスできる Jenkins ジョブ(kubeconfig が利用可能)
- stage-testing パイプライン(Flexy-install が kubeconfig を提供)
- 稼働中のクラスターでの開発/デバッグ
- リアルタイムのトラブルシューティング
コマンド対応表
このスキルのすべての例では、両方のコマンドを示しています。適切なものを使用してください。
| Must-Gather(omc) | 稼働中のクラスター(oc) | 用途 |
|---|---|---|
omc get co | oc get co | クラスターオペレーターの確認 |
omc get pods -A | oc get pods -A | すべての Pod の一覧表示 |
omc logs <pod> -n <ns> | oc logs <pod> -n <ns> | Pod のログ取得 |
omc describe pod <pod> | oc describe pod <pod> | Pod の詳細 |
omc get events -A | oc get events -A | クラスターイベント |
omc get nodes | oc get nodes | ノードの状態 |
| N/A | oc top nodes | リアルタイムのリソース使用状況 |
| N/A | oc top pods -A | リアルタイムの Pod メトリクス |
注:omc top は利用できません(must-gather は静的なスナップショットです)。リソースメトリクスは、ノードの状態と Pod のステータスから推測する必要があります。
主な機能
1. 障害パターンの認識
OpenShift/Kubernetes でよくある障害パターンとその根本原因を即座に認識できます。
インフラストラクチャの障害
-
ImagePullBackOff / ErrImagePull
- 根本原因:レジストリ認証、ネットワーク接続、イメージの不足、レート制限
- 関連コンポーネント:イメージレジストリ、プルシークレット、NetworkPolicies、プロキシ
- 最初に確認する項目:Pod イベント、プルシークレットの有効性、レジストリへの接続
-
CrashLoopBackOff
- 根本原因:アプリケーションのクラッシュ、OOMKilled、依存関係の不足、無効な設定
- 関連コンポーネント:コンテナ、リソース制限、ConfigMaps、Secrets、ボリューム
- 最初に確認する項目:コンテナログ(現在と前回)、終了コード、リソース制限
-
Pending 状態の Pod(スケジューリングの失敗)
- 根本原因:リソース不足、ノードセレクター、taints/tolerations、PVC がバインドされていない
- 関連コンポーネント:スケジューラー、ノード、ストレージプロビジョナー、リソースクォータ
- 最初に確認する項目:Pod イベント、ノードの容量、PVC のステータス
-
タイムアウト
- 根本原因:プロビジョニングの遅延、リソースの制約、起動の遅延、ネットワーク遅延
- 関連コンポーネント:クラウドプロバイダー、ストレージ、アプリケーションの準備状態プローブ
- 最初に確認する項目:イベントの時系列、リソースの利用可能状況、クラウドプロバイダーのステータス
オペレーターの障害
-
ClusterOperator の Degraded
- パターン:
clusteroperator/<name> is degraded - 根本原因:オペレーター Pod の失敗、依存関係が利用できない、調整エラー
- 最初に確認する項目:オペレーターのステータス、オペレーター Pod のログ、管理対象リソース
- パターン:
-
オペレーターの調整エラー
- パターン:
failed to reconcile、error syncing、update failed - 根本原因:無効な CRD、API の競合、リソースバージョンの不一致、検証の失敗
- 最初に確認する項目:オペレーターのログ、CRD 定義、競合するリソース
- パターン:
-
Operator Available=False
- 根本原因:必要な Pod の準備ができていない、依存するオペレーターが Degraded、設定エラー
- 最初に確認する項目:オペレーターのデプロイステータス、依存するオペレーター、オペレーター CR
ネットワークの障害
-
DNS 解決の失敗
- パターン:
no such host、name resolution failed、DNS lookup failed - 根本原因:CoreDNS の問題、DNS オペレーターの Degraded、NetworkPolicy による DNS のブロック
- 最初に確認する項目:DNS オペレーター、CoreDNS Pod、サービスエンドポイント、NetworkPolicies
- パターン:
-
接続拒否/タイムアウト
- パターン:
connection refused、i/o timeout、dial tcp: timeout - 根本原因:サービスの準備ができていない、NetworkPolicy によるブロック、ファイアウォール、ルートの設定ミス
- 最初に確認する項目:サービスエンドポイント、NetworkPolicies、ルート、対象 Pod のステータス
- パターン:
-
ルート/Ingress の障害
- パターン:ルートでの
503 Service Unavailable、404 Not Found - 根本原因:Ingress コントローラーの問題、バックエンド Pod の準備ができていない、TLS 証明書の問題
- 最初に確認する項目:IngressController、ルーター Pod、ルートのステータス、バックエンドサービス
- パターン:ルートでの
ストレージの障害
-
PVC Pending
- パターン:
PersistentVolumeClaim stuck in Pending - 根本原因:一致する PV がない、StorageClass がない、CSI ドライバーの失敗、クォータ超過
- 最初に確認する項目:PVC イベント、StorageClass の有無、CSI ドライバーの Pod、クラウドのクォータ
- パターン:
-
ボリュームのマウント失敗
- パターン:
failed to mount volume、AttachVolume.Attach failed、MountVolume.SetUp failed - 根本原因:ボリュームがノードにアタッチされていない、ファイルシステムエラー、権限の問題、CSI ドライバーのバグ
- 最初に確認する項目:ノードイベント、CSI ドライバーのログ、ボリュームのアタッチ状態
- パターン:
認証/認可
-
Forbidden エラー
- パターン:
forbidden: User "X" cannot、Unauthorized、Error from server (Forbidden) - 根本原因:RBAC 権限の不足、トークンの期限切れ、無効な ServiceAccount
- 最初に確認する項目:RoleBindings、ClusterRoleBindings、ServiceAccount、トークンの有効性
- パターン:
-
OAuth の障害
- パターン:
oauth authentication failed、invalid_grant、unauthorized_client - 根本原因:OAuth サーバーの停止、ID プロバイダーの設定、証明書の問題
- 最初に確認する項目:OAuth オペレーター、ID プロバイダー CR、oauth-openshift Pod
- パターン:
2. クラスター状態の分析方法
重要:クラスターへのアクセス方法に応じてコマンドを調整してください。
ステップ 1:クラスターの健全性の概要
# Must-gather (omc)
omc get co
# Live cluster (oc)
oc get co
# Look for:
# - DEGRADED = True (operator has issues)
# - PROGRESSING = True for extended time (stuck updating)
# - AVAILABLE = False (operator not functional)
解釈:
- 複数のオペレーターが劣化している → インフラストラクチャの問題(etcd、API サーバー、ネットワークなど)の可能性が高い
- 単一のオペレーターが劣化している → オペレーター固有の問題
- 依存関係を確認します:認証 → oauth、ingress → dns など
ステップ 2:複数の名前空間にわたる Pod の健全性
# Must-gather (omc)
omc get pods -A | grep -E 'Error|CrashLoop|ImagePull|Pending|Init'
# Live cluster (oc)
oc get pods -A | grep -E 'Error|CrashLoop|ImagePull|Pending|Init'
Pod の問題を分類します:
CrashLoopBackOff→ アプリケーション/設定の問題ImagePullBackOff→ レジストリ/イメージの問題Pending→ スケジューリング/リソースの問題Init:Error→ Init コンテナーの失敗0/1 Running→ コンテナーが準備できていません(readiness probe の失敗)
ステップ 3:イベントの時系列分析
# Must-gather (omc)
omc get events -A --sort-by='.lastTimestamp' | tail -100
# Live cluster (oc)
oc get events -A --sort-by='.lastTimestamp' | tail -100
パターンを確認します:
- 複数の
FailedScheduling→ リソースの制約 FailedMount→ ストレージの問題BackOff/Unhealthy→ アプリケーションのクラッシュFailedCreate→ API/権限の問題
ステップ 4:ノードの健全性
# Must-gather (omc)
omc get nodes
omc describe nodes | grep -A 5 "Conditions:"
# Live cluster (oc)
oc get nodes
oc describe nodes | grep -A 5 "Conditions:"
確認するノードの状態:
MemoryPressure: True→ ノードのメモリー不足DiskPressure: True→ ディスク容量の不足PIDPressure: True→ プロセス数が多すぎますNetworkUnavailable: True→ ノードのネットワークの問題Ready: False→ ノードが健全ではありません
ステップ 5:リソース使用率
# Live cluster ONLY (oc) - not available in must-gather
oc top nodes
oc top pods -A | sort -k3 -rn | head -20 # Sort by CPU
oc top pods -A | sort -k4 -rn | head -20 # Sort by memory
# For must-gather, infer from:
omc describe nodes | grep -A 10 "Allocated resources"
omc get pods -A -o json | jq '.items[] | select(.status.phase=="Running") | {name:.metadata.name, ns:.metadata.namespace, cpu:.spec.containers[].resources.requests.cpu, mem:.spec.containers[].resources.requests.memory}'
問題を特定します:
- ノードの CPU/メモリー使用率が 100% に近い → クラスターのスケーリングが必要です
- 特定の Pod が過剰なリソースを消費している → リソース制限の問題
- 使用率が継続的に高い → キャパシティプランニングが必要です
ステップ 6:コンポーネント固有の詳細調査
オペレーターの問題の場合:
# Must-gather (omc)
omc get co <operator-name> -o yaml
omc get pods -n openshift-<operator-namespace>
omc logs -n openshift-<operator-namespace> <operator-pod>
# Live cluster (oc)
oc get co <operator-name> -o yaml
oc get pods -n openshift-<operator-namespace>
oc logs -n openshift-<operator-namespace> <operator-pod>
ネットワークの問題の場合:
# Must-gather (omc)
omc get svc -A
omc get endpoints -A
omc get networkpolicies -A
omc get routes -A
omc logs -n openshift-dns <coredns-pod>
omc logs -n openshift-ingress <router-pod>
# Live cluster (oc)
oc get svc -A
oc get endpoints -A
oc get networkpolicies -A
oc get routes -A
oc logs -n openshift-dns <coredns-pod>
oc logs -n openshift-ingress <router-pod>
ストレージの問題の場合:
# Must-gather (omc)
omc get pvc -A
omc get pv
omc get storageclass
omc get pods -n openshift-cluster-csi-drivers
omc logs -n openshift-cluster-csi-drivers <csi-driver-pod>
# Live cluster (oc)
oc get pvc -A
oc get pv
oc get storageclass
oc get pods -n openshift-cluster-csi-drivers
oc logs -n openshift-cluster-csi-drivers <csi-driver-pod>
3. 根本原因分析のフレームワーク
すべての障害について、次の形式で分析を提示します:
## Root Cause Analysis
### Failure Summary
**Component**: [e.g., authentication operator, test pod, image-registry]
**Symptom**: [what's observed - degraded, crashing, timeout, etc.]
**Impact**: [what functionality is broken]
**Cluster Access**: [Must-gather / Live Cluster]
### Primary Hypothesis
**Root Cause**: [specific technical issue]
**Confidence**: High (90%+) / Medium (60-90%) / Low (<60%)
**Category**: Product Bug / Test Automation / Infrastructure / Configuration
**Evidence**:
1. [Finding from logs/events]
2. [Finding from cluster state]
3. [Finding from code analysis]
**Affected Components**:
- Component A: [role and current state]
- Component B: [role and current state]
**Dependency Chain**:
[How components interact, e.g., test → service → pod → image registry → storage]
### Alternative Hypotheses
[If confidence < 90%, list other possibilities with reasoning]
### Why Other Causes Are Less Likely
[Explicitly rule out common false leads]
4. トラブルシューティングの判断ツリー
テストの失敗の場合
Test Failed
├─ Did test create resources (pods, services, etc.)?
│ ├─ YES → Check resource status in cluster
│ │ │ Must-gather: omc get pods -n test-namespace
│ │ │ Live: oc get pods -n test-namespace
│ │ ├─ Resources exist and healthy → Test automation bug (wrong assertion, timing)
│ │ ├─ Resources failed to create → Check events
│ │ │ │ Must-gather: omc get events -n test-namespace
│ │ │ │ Live: oc get events -n test-namespace
│ │ │ ├─ ImagePullBackOff → Registry/image issue (product or infra)
│ │ │ ├─ Forbidden/Unauthorized → RBAC issue (product bug if test should work)
│ │ │ ├─ FailedScheduling → Resource constraints (infrastructure)
│ │ │ └─ Other errors → Analyze specific error
│ │ └─ Resources exist but not healthy → Check pod logs/events
│ └─ NO → Test checks existing cluster state
│ └─ Check what cluster resource test is validating
│ ├─ ClusterOperator → Check operator status (omc/oc get co)
│ ├─ API availability → Check API server, etcd
│ └─ Feature functionality → Check related components
└─ Review test error message for specific failure reason
ClusterOperator の劣化の場合
ClusterOperator Degraded
├─ Check operator CR for specific reason
│ │ Must-gather: omc get co <operator> -o yaml | grep -A 20 conditions
│ │ Live: oc get co <operator> -o yaml | grep -A 20 conditions
├─ Check operator pod status
│ ├─ Not running → Why? (check pod events)
│ ├─ CrashLoopBackOff → Check logs for panic/error
│ └─ Running → Check logs for reconciliation errors
├─ Check operator-managed resources
│ └─ Are deployed resources healthy?
│ ├─ YES → Operator detects issue with deployed resources
│ └─ NO → Operator cannot reconcile resources
└─ Check dependent operators
└─ Is there a dependency chain failure?
5. OpenShift 固有の知識
重要なオペレーターの依存関係
根本原因分析では、オペレーターの依存関係を把握することが重要です:
authentication ← ingress ← dns
console ← authentication
monitoring ← storage
image-registry ← storage
例:console が劣化している場合は、まず authentication を確認します。authentication が劣化している場合は、ingress と dns を確認します。
Red Hat OpenShift の一般的な名前空間
問題がないか、次の場所を確認します:
openshift-apiserver- API サーバーのコンポーネントopenshift-authentication- OAuth サーバーopenshift-console- Web コンソールopenshift-dns- CoreDNSopenshift-etcd- etcd クラスターopenshift-image-registry- 内部レジストリopenshift-ingress- ルーター/Ingress コントローラーopenshift-kube-apiserver- Kubernetes API サーバーopenshift-monitoring- Prometheus、Alertmanageropenshift-network-operator- ネットワークオペレーターopenshift-operator-lifecycle-manager- OLMopenshift-storage- ストレージオペレーターopenshift-machine-config-operator- Machine Config オペレーターopenshift-machine-api- Machine API オペレーター
セキュリティコンテキスト制約(SCC)
OpenShift の SCC システムは、標準の Kubernetes よりも厳格です:
restricted- デフォルトの SCC。root とホストへのアクセスは許可されませんanyuid- 任意の UID で実行できますprivileged- ホストへの完全なアクセスが可能です
一般的な SCC の問題:
- Pod が
unable to validate against any security context constraintで失敗する- 根本原因:ServiceAccount に SCC の権限がありません
- 修正方法:SCC を ServiceAccount に付与するか、別の SCC を使用します
BuildConfigs、Builds、ImageStreams の違い
OpenShift のビルドに関する概念を把握します:
BuildConfig- ビルドを作成するためのテンプレートBuild- ビルドのインスタンス(一度限りの実行)ImageStream- イメージへの論理ポインター(タグリポジトリのようなもの)ImageStreamTag- ImageStream 内の特定のバージョン
6. CI/CD パイプラインの専門知識
イメージ整合性チェック
機能:すべてのペイロードイメージについて、マルチアーキテクチャマニフェストの解析を検証します。
よくある失敗:
-
マルチアーキテクチャマニフェストの解析エラー
- イメージがすでに出荷されている場合は、誤検知であることがよくあります。
- イメージが registry.redhat.io に存在するか確認してください。
- ペイロードの問題ではなく、インフラストラクチャやツールの問題である可能性が高いです。
-
マニフェストにイメージがない
- 製品のバグ:すべてのアーキテクチャ向けにイメージがビルドされていません。
- ビルドログを確認し、担当コンポーネントチームに問い合わせてください。
-
レジストリへの接続問題
- インフラストラクチャ:ネットワークのタイムアウト、レジストリの停止。
- 通常、再試行すると成功します。
ステージングテスト
機能:ステージング CDN 上でリリースペイロードをエンドツーエンドで検証します。
パイプラインのステージ:
- Flexy-install - ステージングペイロードを使用してクラスターをプロビジョニングします。
- Runner - Cucumber テスト(openshift/verification-tests)を実行します。
- ginkgo-test - Ginkgo テスト(openshift/openshift-tests-private)を実行します。
- Flexy-destroy - クラスターをクリーンアップします。
クラスターへのアクセス:Flexy-install からの kubeconfig を使用して、稼働中のクラスターにアクセスします(oc コマンドを使用)。
よくある失敗:
-
Flexy-install が失敗する
- インフラストラクチャ:クラウドのプロビジョニングに関する問題。
- 製品:インストーラーのバグ、ペイロードの問題。
- 確認項目:install-config、クラウドのクォータ、インストーラーログ。
-
テストでの CatalogSource エラー
- 製品:インデックスイメージにオペレーターが含まれていません。
- 次のコマンドでデバッグします:
oc get catalogsource -n openshift-marketplace - CatalogSource ポッドとインデックスイメージの内容を確認してください。
- z-stream でよく見られます:マイナーバージョン向けにオペレーターが再ビルドされていません。
-
テストのタイムアウト
- インフラストラクチャ:クラウドのパフォーマンスが低下しています。
- 製品:オペレーターの起動が遅い、リソースが不足しています。
oc top nodes、oc top pods、オペレーターのログを確認してください。
7. 分析のベストプラクティス
常に背景情報を提示する
単に「ログを確認してください」と言うのではなく、以下を説明してください。
- ログの確認ポイント
- このコンポーネントが関連する理由
- 失敗との関連性
- 使用するツール(omc か oc か)
確信度
確実性を明確に示してください。
- 高(90% 以上):明確な証拠があり、よく知られたパターンです。
- 中(60~90%):有力な兆候はありますが、多少の曖昧さがあります。
- 低(60% 未満):可能性が複数あり、データが不足しています。
実行可能な推奨事項
すべての分析で、明確な次の手順を最後に提示してください。
- すぐに行うこと:今すぐ実行すること(再試行、バグ報告、テストのスキップ)。
- 調査:原因が不明な場合に確認すること(ログ、設定、リソース)。
- 長期的な対策:再発を防ぐ方法(テストの修正、クラスターのスケーリング、設定の更新)。
問題を正しく分類する
問題のカテゴリーを正確に判断してください。
製品のバグ:
- 有効な設定で OpenShift コンポーネントが失敗する。
- オペレーターが有効なカスタムリソースを調整できない。
- API サーバーが有効なリクエストに対してエラーを返す。
- 対応:OCPBUGS を起票し、重大な場合はリリースをブロックします。
テスト自動化のバグ:
- 不安定なテスト(ペイロードを変更せずに再試行すると成功する)。
- テストコードの競合状態。
- アサーションまたはタイムアウトの誤り。
- 対応:OCPQE を起票し、テストコードを修正します。
インフラストラクチャの問題:
- クラウドプロバイダー API のタイムアウト。
- ネットワーク接続の問題。
- クラスターリソースの枯渇。
- 対応:再試行、クラスターのスケーリング、クラウドのステータス確認。
設定の問題:
- 無効なカスタムリソース。
- 必須フィールドの不足。
- クラスター設定の誤り。
- 対応:設定を修正します。
8. 既存ツールとの連携
このスキルは、以下のツールとシームレスに連携します。
ci_job_failure_fetcher.py
構造化された失敗データ(JUnit XML、エラーメッセージ、スタックトレース)を提供します。
- 失敗パターンを使用して問題を分類します。
- ナレッジベースと照合します。
- 対象を絞ったトラブルシューティングを行います。
omc(must-gather 分析)
失敗の種類に応じて、対象を絞ったコマンドを実行します。
- オペレーターの問題 → オペレーターのポッド、CR、ログを確認します。
- ネットワーク → サービス、エンドポイント、NetworkPolicies を確認します。
- ストレージ → PVC、StorageClasses、CSI ドライバーを確認します。
oc(稼働中のクラスターのデバッグ)
稼働中のクラスターでリアルタイムにトラブルシューティングします。
- ライブクラスターにアクセスできるステージングテストのパイプライン。
- kubeconfig を利用できる Jenkins ジョブ。
- リアルタイムのメトリクスを取得できます(
oc top)。
Jira MCP
既知の問題を検索します:
- OCPBUGS - 製品のバグ
- OCPQE - テスト自動化の問題
- 見つかった問題との関連性について、背景情報を提示します
テストコードの分析
失敗がテストのバグか製品のバグかを判断します:
- テスト実装の品質を確認します
- 自動化のアンチパターンを特定します
- テストが不安定になる可能性を評価します
出力形式
すべての分析を一貫した形式で構成します:
# OpenShift Analysis: [Component/Issue Name]
## Executive Summary
[2-3 sentence overview: what failed, likely cause, recommended action]
## Failure Details
- **Component**: [affected component]
- **Symptom**: [observed behavior]
- **Error Message**: [key error from logs]
- **Impact**: [what's broken]
- **Cluster Access**: Must-gather / Live Cluster
## Root Cause Analysis
[Detailed technical analysis]
**Primary Hypothesis** (Confidence: X%)
- Root Cause: [specific issue]
- Evidence: [findings 1, 2, 3]
- Category: [Product Bug/Test Automation/Infrastructure/Configuration]
**Affected Components**:
- [Component A]: [role and state]
- [Component B]: [role and state]
**Dependency Chain**: [how components interact]
## Troubleshooting Evidence
[Commands run and their results - specify omc or oc]
## Recommended Actions
1. **Immediate**: [action for right now]
2. **Investigation**: [if more info needed]
3. **Long-term**: [preventive measures]
## Related Resources
- [Relevant OpenShift docs]
- [Known Jira issues]
- [Similar past failures]
ナレッジベースの参照先
特定のトピックについて詳しく知りたい場合は、次を参照してください:
knowledge/failure-patterns.md- 失敗シグネチャの包括的なカタログknowledge/operators.md- オペレーターごとのトラブルシューティングガイドknowledge/networking.md- ネットワークの詳細なトラブルシューティングknowledge/storage.md- ストレージの詳細なトラブルシューティング
主要な原則
- 具体的にする:一般的なアドバイスではなく、具体的な技術情報を提示します
- 根拠を示す:結論を実際のデータ(ログ、イベント、メトリクス)に結び付けます
- 確信度を評価する:確実性のレベルを明示します
- 背景を説明する:コンポーネント間の関係と依存関係を説明します
- 実行可能な出力にする:常に明確な次のステップで締めくくります
- 正確に分類する:製品、自動化、インフラストラクチャを正確に区別します
- 適切なツールを使う:must-gather には omc、稼働中のクラスターには oc を使います
- OpenShift の用語を使う:適切なコンポーネント名、概念、アーキテクチャを使用します