トラブルシューティング
最も一般的な問題に対する症状ベースのガイドです。まず 日次ヘルスチェックから始めて問題を 特定し、次に該当するセクションに進んでください。
最初のトリアージ
oc get pods -n duokey -o wide # what is not Running/Ready?
oc describe pod <pod> -n duokey # events at the bottom
oc logs <pod> -n duokey --tail=200 # application errors
Pod が起動しない
| 症状 | 想定される原因 | 解決策 |
|---|---|---|
Pending | リソース不足 / スケジュール可能なノードがない | oc describe pod を確認、キャパシティを追加するかアンチアフィニティを緩和 |
CrashLoopBackOff | アプリエラーまたはシークレット欠落 | oc logs を確認、ExternalSecret が同期されているか検証 |
CreateContainerConfigError | Secret/ConfigMap の欠落 | ESO が Secret を生成したか確認 (下記) |
ImagePullBackOff | レジストリに到達不可 / 未署名イメージ | ミラーレジストリとイメージ署名ポリシーを確認 |
シークレットが注入されない
oc get externalsecret -n duokey
oc describe externalsecret <name> -n duokey # see SecretSyncedError reasons
oc get secretstore -n duokey
| 原因 | 解決策 |
|---|---|
| シークレットマネージャーへの認証が失敗 | Vault/OpenBao/CyberArk の Kubernetes 認証ロールと ServiceAccount マッピングを検証 |
| OpenBao が封印されている | クォーラムの封印を解除: bao operator unseal |
| パス / キーが見つからない | SecretStore 内のシークレットパスとソース値が存在することを確認 |
シークレットマネージャー統合を参照してください。
データベースの問題
# Replication health
oc exec -n duokey <pg-primary> -- psql -c "SELECT * FROM pg_stat_replication;"
| 症状 | 原因 | 解決策 |
|---|---|---|
| レプリカ遅延が拡大 | ネットワーク / IO 圧迫 | レプリカの帯域幅とディスク IO を確認 |
| プライマリなし / 読み取り専用 | フェイルオーバー進行中 | オペレーターがレプリカを昇格するのを待ち、クォーラムを検証 |
| 接続拒否 | ファイアウォール / max_connections | FW ルール (5432) と接続プールを確認 |
GitOps / ArgoCD
argocd app get duokey
argocd app sync duokey # force reconcile
argocd app diff duokey # see drift
| 症状 | 原因 | 解決策 |
|---|---|---|
OutOfSync | 手動変更 / ドリフト | 再同期、クラスター状態を変更した人物を調査 |
Degraded | 不正なマニフェスト / 障害のある Pod | ArgoCD が異常とフラグ付けしたリソースを検査 |
| リポジトリに到達不可 | GitLab に到達不可 | FW (443/22) と資格情報を確認 |
Ingress / TLS
| 症状 | 原因 | 解決策 |
|---|---|---|
| ルーターから 503 | 正常なバックエンド Pod がない | まずバックエンド Pod を修正 |
| 証明書エラー | 期限切れ / 誤った証明書 | ルート証明書を更新/置換 |
| 接続リセット | TLS プロファイル / 暗号スイートの不一致 | tlsSecurityProfile と LB/WAF 設定を合わせる (ネットワークセキュリティ) |
| リクエストがブロックされる | WAF の誤検知 | WAF ルールを調整、WAF ログを確認 |
パフォーマンス
- 主要メトリクスで飽和状態 (CPU/メモリ、DB 接続、 レイテンシ) を確認します。
- Pod がノード/ゾーン全体に分散していることを確認します (アンチアフィニティ)。
- リクエストレートがキャパシティを超える場合は、HPA / レプリカ数を見直します。
災害復旧
完全または部分的な復元手順については、 バックアップと災害復旧を参照してください。
サポートバンドルの収集
DuoKey サポートにエスカレーションする際は、以下を添付してください:
oc adm must-gather # cluster-wide diagnostics
oc get events -n duokey --sort-by=.lastTimestamp
oc logs <failing-pod> -n duokey --previous
argocd app get duokey -o yaml
症状、タイムライン、および最近の変更の説明を添えて [email protected] に送付してください。